Word VBA教程: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对象。

Word VBA教程

Word VBA参考教程:目录1 Word VBA参考教程:目录2
Word VBA参考教程:目录3 Word VBA参考教程:目录4
Word VBA参考教程:目录5 Word VBA参考教程:目录6
Word VBA参考教程:目录7 Word VBA参考教程:目录8
Word VBA参考教程:目录9 Word VBA参考教程:目录10
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号