ShapeRange 集合

         
多个对象
ShapeRange
多个对象

代表图形区域,该区域是文档中的一组图形。图形区域可包含一个图形,也可包含文档中的所有图形。可以在图形区域中包含所需的任意图形(在文档中的所有图形中选取,或在所有选定的图形中选取)。例如,可以构造包含文档中前三个图形、所有选定图形或所有任意多边形的 ShapeRange 集合。

有关如何处理单个图形或同时处理若干图形的概述,请参阅处理图形(绘图对象)

ShapeRange 集合用法

本部分说明了下述内容:

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

可用 Shapes.Range(index) 返回代表文档中的一组图形的 ShapeRange 集合,其中 index 为图形的名称或索引号,或者由图形的名称或索引号组成的数组。可用 Array 函数构造名称或索引号的数组。下例设置 myDocument 上的第一个和第三个图形的填充图案。

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

下例设置 myDocument 上的图形“Oval 4”和“Rectangle 5”的填充图案。

Set myDocument = Worksheets(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)