Shape 对象

         
多个对象
Shape
多个对象

代表绘图层中的对象,如自选图形、任意多边形、OLE 对象或图片。Shape 对象是 Shapes 集合的成员。Shapes 集合包含幻灯片上的所有图形。

注意   有三个代表图形的对象:Shapes 集合,该集合代表文档中的所有图形;ShapeRange 集合,该集合代表文档中的图形的指定子集(例如,ShapeRange 对象可能代表文档中的第一个和第四个图形,或者代表文档中所有选定的图形);以及 Shape 对象,该对象代表文档中的单个图形。如果同时处理若干图形,或处理选定的图形,可用 ShapeRange 集合。有关如何处理单个图形或同时处理若干图形的概述,请参阅处理图形(绘图对象)

Shape 对象用法

本部分说明了下述内容:

返回现有的图形

可用 Shapes(index)(其中 index 为图形的名称或索引号)返回代表某一图形的 Shape 对象。下例将 myDocument 中第一个图形和名为“Rectangle 1”的图形进行水平翻转。

Set myDocument = Worksheets(1)
myDocument.Shapes(1).Flip msoFlipHorizontal
myDocument.Shapes("Rectangle 1").Flip msoFlipHorizontal

Shapes 集合添加新的图形时,将对该新添加的图形赋以默认的名称。若要为图形指定更有意义的名称,可使用 Name 属性。下例向 myDocument 添加矩形,将其命名为“Red Square”,然后设置该矩形的前景色和线型。

Set myDocument = Worksheets(1)
With myDocument.Shapes.AddShape(msoShapeRectangle, _
        144, 144, 72, 72)
    .Name = "Red Square"
    .Fill.ForeColor.RGB = RGB(255, 0, 0)
    .Line.DashStyle = msoLineDashDot
End With

返回选定区域内的图形

可用 Selection.ShapeRange(index)(其中 index 为图形的名称或索引号)返回代表某一选定图形的 Shape 对象。下例设置了活动窗口内选定图形中的第一个图形的填充格式,假定至少选定了一个图形。

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

返回附加到连接符端点上的图形

若要返回代表附加到连接符的某一端点上的图形的 Shape 对象,可使用 BeginConnectedShape 属性或 EndConnectedShape 属性。

返回新建的任意多边形

可用 BuildFreeform 方法和 AddNodes 方法定义新建的任意多边形的几何图形。用 ConvertToShape 方法创建任意多边形并返回代表它的 Shape 对象。

返回组合内的单个图形

可用 GroupItems(index)(其中 index 为图形的名称或在组合中的索引号)返回代表组合图形中的单个图形的 Shape 对象。

返回新建的图形组合

可用 GroupRegroup 方法来组合一批图形,并返回代表新构造的组合的单个 Shape 对象。在构造完一个新组合后,可以像对其他图形一样来处理它。