ShapeRange 对象 (Project)
表示形状区域,它是报表中一个或多个形状的集合。
备注
Project 使用其他 Office 应用程序使用的相同 Office 艺术基础结构,并根据报表、表和图表调整 Office 艺术,这些报表、表和图表可以使用活动项目中的字段。 但是,Project 并不实现所有 ShapeRange 操作。 例如,Project 不支持形状区域中形状的自动对齐、分布、分组或合并。
形状区域可以包含报表中的单个形状或所有形状。 可以包含要构造形状范围的形状。 例如,可以构造 一个 ShapeRange 集合,该集合包含报表中的前三个形状、报表中的所有形状或仅包含三角形形状。
[!注释] 与 形状 对象可以执行的大多数操作,您还可以执行与一个 ShapeRange 对象,该对象包含一个形状。 对包含多个形状、不同类型的形状或 Project 中未完全支持的形状的 ShapeRange 对象执行某些操作可能会导致错误。 例如,如果形状区域包含矩形和图表,并且您尝试设置 Fill 属性,则语句将失败,因为图表未实现 Fill 属性。 在其他情况下,例如,如果在包含图表和矩形的形状区域上使用 Rotation 属性,Project 将旋转矩形,但无提示地忽略图表。
示例
可以返回一组由索引号或形状名称指定的形状。 使用 Shapes.Range(index)
,其中 index 是索引号或名称的数组。 例如,以下两个语句都有效:
Set myRange1 = theReport.Shapes.Range(Array(1, 2))
Set myRange2 = theReport.Shapes.Range(Array("Textbox 1", "Textbox 2"))
若要创建包含报表中所有形状的 ShapeRange 对象,请使用如下语句:
Set allShapes = theReport.Shapes.Range(Array(1, theReport.Shapes.Count))
若要使用 Shapes 集合的单个成员创建 ShapeRange 对象,可以使用如下所示的语句:
Set myRange3 = theReport.Shapes.Range(2)
Set myRange4 = theReport.Shapes.Range("Rectangle 2")
若要对 ShapeRange 集合中的单个形状执行操作,可以使用如下所示的语句:
myRange1(2).Fill.ForeColor.RGB = RGB(120, 120, 80)
myRange1("Textbox 2").Fill.ForeColor.RGB = RGB(120, 120, 80)
或者,可以直接对 Shape 对象执行操作,而无需使用形状范围。
theReport.Shapes("Big rectangle").Fill.ForeColor.RGB = RGB(120, 120, 80)
方法
说明 |
---|
未在 Project 中实现 Align 方法。 |
将格式应用于形状区域,其中的格式信息已通过使用 PickUp 方法复制。 |
将形状范围复制到剪贴板。 |
将形状范围剪切到剪贴板。 |
删除形状范围。 |
在 Project 中未实现 Distribut 方法。 |
复制形状区域并返回对副本的引用。 |
围绕其水平或垂直轴翻转形状范围中的每个形状。 |
Group 方法未在 Project 中实现。 |
按指定磅数水平移动形状范围中的每个形状。 |
围绕 z 轴旋转形状范围中的每个形状,以指定的度数旋转。 |
按指定磅数垂直移动形状范围中的每个形状。 |
获取形状范围集合中的单个 Shape 对象。 |
MergeShapes 方法未在 Project 中实现。 |
复制形状区域的格式。 |
Regroup 方法未在 Project 中实现。 |
RerouteConnections 方法未在 Project 中实现。 |
按指定因子缩放形状区域的高度。 |
按指定因子缩放形状范围的宽度。 |
选择形状范围中的每个形状。 |
将默认形状的格式应用于范围中的每个形状。 |
未在 Project 中实现 Ungroup 方法。 |
将形状范围移到其他形状的前面或后面, (即更改 z 顺序) 中的位置。 |
属性
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。