Shape 对象 (Excel)

代表绘图层中的对象,例如自选图形、任意多边形、OLE 对象或图片。

注释

Shape 对象是 Shapes 集合的成员。 Shapes 集合包含某个工作簿中的所有形状。

注意

有三个对象表示形状: Shapes 集合,表示工作簿上的所有形状; ShapeRange 集合,表示工作簿上形状的指定子集 (例如, ShapeRange 对象可以表示工作簿中的第一个和四个形状,或者它可以表示工作簿) 中的所有选定形状;和 Shape 对象,表示工作表上的单个形状。 如果您需要同时处理几个形状,或处理选定区域中的多个形状,请使用 ShapeRange 集合。

要返回... 使用。。。
一个 Shape 对象,该对象表示连接符附加的形状之一 ConnectorFormat 对象的 BeginConnectedShapeEndConnectedShape 属性。
新创建的任意多边形 BuildFreeformAddNodes 方法用于定义新任意多边形的几何图形,并使用 ConvertToShape 方法创建任意多边形并返回代表它的 Shape 对象。
一个 Shape 对象,该对象代表分组形状中的单个形状 GroupItems (索引) ,其中 index 是形状名称或组中的索引号。
新形成的形状组 ShapeRange 对象的 GroupRegroup 方法可组合一系列形状并返回表示新形成的组的单个 Shape 对象。 形成组后,可以采用与处理任何其他形状相同的方式处理组。
一个代表现有形状的 Shape 对象 形状 (索引) ,其中 index 是形状名称或索引号。
一个 Shape 对象,该对象代表所选内容中的形状 选择ShapeRange (索引) ,其中 index 是形状名称或索引号。

示例

下例将 myDocument 中的形状一和名为“Rectangle 1”的形状进行水平翻转。

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

每个添加到 Shapes 集合的形状将被分配一个默认名称。 若要赋予该形状一个更有意义的名称,请使用 Name 属性。 以下示例向 myDocument 添加一个矩形,为其命名为“红方”,然后设置其前景色和线条样式。

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

下例设置了活动窗口内选定区域中的第一个形状的填充格式,假定至少选定了一个形状。

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

方法

属性

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。