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 添加一个矩形,并赋予其名称 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

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

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

方法

属性

另请参阅

支持和反馈

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