PowerPoint VBA教程:Shapes集合对象

   
多个对象
Shapes
多个对象

指定幻灯片中所有Shape对象的集合。每个 Shape对象代表绘图层中的一个对象,例如自选图形、任意多边形、OLE对象或图片。

注意  如果要使用文档中的部分形状(例如,只对文档中的自选图形或选定的形状进行操作),则必须构造一个包含要使用的形状的ShapeRange集合。关于一次使用单个形状或多个形状的概述,请参阅使用形状(绘图对象)

使用 Shapes集合

使用 Shapes属性返回 Shapes集合。以下示例选择当前演示文稿中的所有形状。


ActivePresentation.Slides(1).Shapes.SelectAll

注意  如果要同时对文档中的所有形状进行某种操作(例如删除或设置一个属性),可使用Range方法不带参数来创建一个 ShapeRange对象(该对象包含 Shapes集合中的所有形状),然后对 ShapeRange对象应用适当的属性或方法。

使用AddCalloutAddCommentAddConnectorAddCurveAddLabelAddLineAddMediaObjectAddOLEObjectAddPictureAddPlaceholderAddPolylineAddShapeAddTableAddTextboxAddTextEffectAddTitle方法新建一个形状并将其添加到 Shapes集合中。将BuildFreeform方法和ConvertToShape方法联合使用,可以新建任意多边形并添加到该集合。以下示例在当前演示文稿中添加一个矩形。


ActivePresentation.Slides(1).Shapes.AddShape Type:=msoShapeRectangle, _
    Left:=50, Top:=50, Width:=100, Height:=200

使用 Shapes(index) 返回一个 Shape对象,其中 index 是该形状的名称或索引号。以下示例将当前演示文稿中第一个形状的填充设为预设的底纹。


ActivePresentation.Slides(1).Shapes(1).Fill _
    .PresetGradient Style:=msoGradientHorizontal, Variant:=1, _
    PresetGradientType:=msoGradientBrass

使用 Shapes.Range(index) 返回ShapeRange集合,其中 index 是该形状的名称或索引号或是一组形状的名称或索引号。该集合代表 Shapes集合的一个子集。以下示例设置当前演示文稿中第一个和第三个形状的填充图案。


ActivePresentation.Slides(1).Shapes.Range(Array(1, 3)).Fill _
    .Patterned Pattern:=msoPatternHorizontalBrick

使用 Shapes.Placeholders(index) 返回一个代表占位符的 Shape对象,其中 index 是占位符编号。如果指定的幻灯片有标题,使用 Shapes.Placeholders(1) 或 Shapes.Title 返回标题占位符。以下示例在当前演示文稿中添加一张幻灯片并为标题和副标题添加文本(副标题是此版式的幻灯片中的第二个占位符)。


With ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle).Shapes
    .Title.TextFrame.TextRange = "This is the title text"
    .Placeholders(2).TextFrame.TextRange = "This is subtitle text"
End With

上页:PowerPoint VBA教程:ShapeRange集合对象 下页:PowerPoint VBA教程:Slide对象

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对象
PowerPoint VBA教程:TextStyle对象 PowerPoint VBA教程:TextStyleLevel对象
PowerPoint VBA教程:TextStyleLevels集合对象 PowerPoint VBA教程:TextStyles集合对象
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号