形状对象 (PowerPoint)

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

备注

注意

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

有关如何使用单个形状或一次处理多个形状的概述,请参阅 使用形状 (绘图对象)

以下示例说明如何执行下列操作:

  • 按名称或编号索引,返回幻灯片上现有的形状。

  • 返回幻灯片上新建的形状。

  • 返回选定范围中的形状。

  • 返回幻灯片上的幻灯片标题和其他占位符。

  • 返回与连接符的端点相连的形状。

  • 返回演示文稿的默认形状。

  • 返回新建的任意多边形。

  • 返回组合内的单个形状。

  • 返回新组合的一组形状。

示例

使用 Shapes (索引) ,其中 index 是形状名称或索引号,以返回代表幻灯片上形状的 Shape 对象。 下例将 myDocument 中的形状一和名为“Rectangle 1”的形状进行水平翻转。

Set myDocument = ActivePresentation.Slides(1)

myDocument.Shapes(1).Flip msoFlipHorizontal

myDocument.Shapes("Rectangle 1").Flip msoFlipHorizontal

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

Set myDocument = ActivePresentation.Slides(1)

With myDocument.Shapes.AddShape(Type:=msoShapeRectangle, _

        Top:=144, Left:=144, Width:=72, Height:=72)

    .Name = "Red Square"

    .Fill.ForeColor.RGB = RGB(255, 0, 0)

    .Line.DashStyle = msoLineDashDot

End With

若要向幻灯片添加形状并返回代表新创建的形状的 Shape 对象,请使用 Shapes 集合的以下方法之一: Add3DModelAddCalloutAddConnectorAddCurveAddLabelAddLineAddMediaObjectAddOLEObjectAddPictureAddPlaceholderAddPolylineAddShapeAddTableAddTextboxAddTextEffectAddTitle

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

ActiveWindow.Selection.ShapeRange(1).Fill _

    .ForeColor.RGB = RGB(255, 0, 0)

使用 Shapes.Title 返回代表幻灯片标题的 Shape 对象。 使用 Shapes.AddTitle 在无标题的幻灯片中添加标题并返回代表新建标题的 Shape 对象。 使用 Shapes.Placeholders (索引) ,其中 index 是占位符的索引号,可返回代表占位符的 Shape 对象。 如果没有改变过幻灯片上形状的排列顺序,则以下三个语句是等效的(假定第一张幻灯片有标题)。

ActivePresentation.Slides(1).Shapes.Title _

    .TextFrame.TextRange.Font.Italic = True

ActivePresentation.Slides(1).Shapes.Placeholders(1) _

    .TextFrame.TextRange.Font.Italic = True

ActivePresentation.Slides(1).Shapes(1).TextFrame _

    .TextRange.Font.Italic = True

若要返回代表连接符附加的形状之一的 Shape 对象,请使用 BeginConnectedShapeEndConnectedShape 属性。

若要返回代表演示文稿的默认形状的 Shape 对象,请使用 DefaultShape 属性。

使用 BuildFreeformAddNodes 方法定义新任意多边形的几何图形,并使用 ConvertToShape 方法创建任意多边形并返回代表该任意多边形的 Shape 对象。

使用 GroupItems (索引) ,其中 index 是形状名称或组中的索引号,可返回一个代表分组形状中单个形状的 Shape 对象。

使用 重组 方法组合形状范围并返回单个 Shape 对象表示新组成的组。 一组形成之后,处理组相同的方式使用任何其他形状。

方法

属性

另请参阅

支持和反馈

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