PowerPoint VBA教程:Shape对象

   
多个对象
Shape
多个对象

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

注意  共有三个代表形状的对象:Shapes集合,代表文档中的所有形状;ShapeRange集合,代表文档中指定的部分形状(例如,ShapeRange对象可以代表文档中的第一个和第四个形状,或代表文档中所有选定的形状);Shape对象,代表文档中的单个形状。如果要同时使用多个形状或集合中的形状,请使用 ShapeRange集合。关于一次使用单个形状或多个形状的概述,请参阅使用形状(绘图对象)

使用 Shape对象

本节描述如何:

返回幻灯片中现有的形状

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


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

每个添加到 Shapes集合的形状将被分配一个默认名称。若要赋予该形状一个更有意义的名称,请使用 Name属性。以下示例在 myDocument 中添加一个矩形,将其命名为 Red Square,并设置其前景色与线条样式。


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集合的下列方法之一:AddCalloutAddCommentAddConnectorAddCurveAddLabelAddLineAddMediaObjectAddOLEObjectAddPictureAddPlaceholderAddPolylineAddShapeAddTableAddTextboxAddTextEffectAddTitle

返回选定对象中的形状

使用 Selection.ShapeRange(index) 返回一个代表选定对象中的形状的 Shape对象,其中 index 是形状名称或索引号。以下示例设置当前窗口中选定对象的第一个形状的填充(假定选中的对象中至少有一个形状)。


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

返回幻灯片中的幻灯片标题和其他占位符

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


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对象,其中 index 是组中形状的名称或索引号。

返回新组成的形状组

使用GroupRegroup方法对若干形状进行组合,并返回代表新建组的单个 Shape对象。创建组后,可以如使用任何其他形状一样使用该组。

上页:PowerPoint VBA教程:ShadowFormat对象 下页:PowerPoint VBA教程:ShapeNode对象

PowerPoint VBA教程:Shape对象

PowerPoint VBA教程:ShapeNode对象 PowerPoint VBA教程:ShapeNodes集合对象
PowerPoint VBA教程:ShapeRange集合对象 PowerPoint VBA教程:Shapes集合对象
PowerPoint VBA教程:Slide对象 PowerPoint VBA教程:SlideRange集合对象
PowerPoint VBA教程:Slides集合对象 PowerPoint VBA教程:SlideShowSettings对象
PowerPoint VBA教程:SlideShowTransition对象 PowerPoint VBA教程:SlideShowView对象
PowerPoint VBA教程:SlideShowWindow对象 PowerPoint VBA教程:SlideShowWindows集合对象
PowerPoint VBA教程:SoundEffect对象 PowerPoint VBA教程:Table对象
PowerPoint VBA教程:TabStop对象 PowerPoint VBA教程:TabStops集合对象
PowerPoint VBA教程:Tags对象 PowerPoint VBA教程:TextEffectFormat对象
PowerPoint VBA教程:TextFrame对象 PowerPoint VBA教程:TextRange对象
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号