多种对象![]() ![]() ![]() |
该集合对象代表一个图形区域,该区域是文档中的一组图形。图形区域可以仅包含一个图形,也可以包含文档中的所有图形。可以在文档或选定部分的所有图形中进行选择,以构成所需的图形区域。例如,可创建一个 ShapeRange 集合,该集合可包含文档中的前三个图形、文档中所有选定的图形或文档中的所有任意多边形。
注意 处理 Shape 对象的大多数操作也可用于只包含一个图形的 ShapeRange 对象。有些操作用来处理包含多个图形的 ShapeRange 对象时,可能导致出错。
本节说明应如何:
使用 Shapes.Range(index) 可以返回代表文档中一组图形的 ShapeRange 集合,其中 index 为图形的名称或索引序号,或包含图形名称或索引序号的数组。可用 Visual Basic 的 Array 函数创建图形名称或索引序号的数组。下列示例设置活动文档中第一和第三个图形的填充图案。
ActiveDocument.Shapes.Range(Array(1, 3)).Fill.Patterned _
msoPatternHorizontalBrick
下列示例选定活动文档中名为“Oval 4”和“Rectangle 5”的图形。
ActiveDocument.Shapes.Range(Array("Oval 4", "Rectangle 5")).Select
虽然可用 Range 方法返回任意数量的图形,但在返回集合中单独的成员时,用 Item 方法更加简单。例如,Shapes(1)
比 Shapes.Range(1)
更简单。
用 Selection.ShapeRange(index) 可返回一个 Shape 对象,该对象代表所选内容中的一个图形,其中 index 为图形名称或索引序号。下列示例设置所选内容中第一个图形的填充效果(假定所选内容至少包含一个图形)。
Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
本示例选定活动文档第一节中的所有图形。
Set myRange = ActiveDocument.Sections(1).Range
myRange.ShapeRange.Select
使用 Align、Distribute 或 ZOrder 方法相对于图形自身或文档放置图形集合。
使用 Group、Regroup 或 UnGroup 方法可创建并处理由图形区域构成的单独图形。Shape 对象的 GroupItems 属性返回 GroupShapes 对象,该对象代表组合构成单独图形的所有图形。
记录器在记录图形时,总是使用 ShapeRange 属性。
ShapeRange 对象并不包含 InlineShape 对象。