ShapeRange 集合对象

         
多种对象
ShapeRange
多种对象

该集合对象代表一个图形区域,该区域是文档中的一组图形。图形区域可以仅包含一个图形,也可以包含文档中的所有图形。可以在文档或选定部分的所有图形中进行选择,以构成所需的图形区域。例如,可创建一个 ShapeRange 集合,该集合可包含文档中的前三个图形、文档中所有选定的图形或文档中的所有任意多边形。

注意   处理 Shape 对象的大多数操作也可用于只包含一个图形的 ShapeRange 对象。有些操作用来处理包含多个图形的 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) 更简单。

返回所选内容或区域中的 ShapeRange 对象

Selection.ShapeRange(index) 可返回一个 Shape 对象,该对象代表所选内容中的一个图形,其中 index 为图形名称或索引序号。下列示例设置所选内容中第一个图形的填充效果(假定所选内容至少包含一个图形)。

Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0)

本示例选定活动文档第一节中的所有图形。

Set myRange = ActiveDocument.Sections(1).Range
myRange.ShapeRange.Select

对齐、分布和组合 ShapeRange 对象中的图形

使用 AlignDistributeZOrder 方法相对于图形自身或文档放置图形集合。

使用 GroupRegroupUnGroup 方法可创建并处理由图形区域构成的单独图形。Shape 对象的 GroupItems 属性返回 GroupShapes 对象,该对象代表组合构成单独图形的所有图形。

说明

记录器在记录图形时,总是使用 ShapeRange 属性。

ShapeRange 对象并不包含 InlineShape 对象。