ShapeRange 集合对象

         
多个对象
ShapeRange (Shape)
多个对象

表示一个形状范围,该范围包含文档上的一组形状。形状范围包含的形状少则一个,多则文档上的所有形状。要构造形状范围,可从文档上的所有形状或选定的所有形状中选择所需的任何形状。例如,可以构造一个 ShapeRange 集合,该集合在包含文档上前三个形状、所有选取的形状或所有任意多边形。

关于如何使用一个形状或同时使用多个形状的概述,请参阅使用形状(绘图对象)

使用 ShapeRange 集合

本节描述如何:

返回指定名称或索引号的一组形状

使用 Shapes.Range(index) 返回代表文档上一组形状的 ShapeRange 集合,此处 index 是形状或包含名称或索引的数组的名称或索引号。可以使用 Array 函数来构造名称或索引号数组。以下示例对 myDocument 上的第一个和第三个形状设置填充模式。

Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes.Range(Array(1, 3)).Fill _
    .Patterned msoPatternHorizontalBrick

以下示例为 myDocument 上名为“Oval 4”和“Rectangle 5”的形状设置填充模式。

Set myDocument = ActivePresentation.Slides(1)
Set myRange = myDocument.Shapes _
    .Range(Array("Oval 4", "Rectangle 5"))
myRange.Fill.Patterned msoPatternHorizontalBrick

虽然可以使用 Range 方法返回任意数量的形状或幻灯片,如果仅想返回一个集合成员,则使用 Item 方法更为简单。例如,Shapes(1)Shapes.Range(1) 简单。

返回文档中所有或部分选定形状

使用 Selection 对象的 ShapeRange 属性返回选定对象中的所有形状。以下示例设置第一个窗口中选定对象的所有形状的填充前景颜色(假设选定对象中至少有一个形状)。

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

使用 Selection.ShapeRange(index) 返回选定对象中的单个形状,其中 index 是形状的名称或索引号。以下示例设置第一个窗口选定形状的集合中第二个形状的前景填充颜色(假设选定对象中至少有两个形状)。

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