Word VBA教程:Shapes集合对象

多种对象
Shapes (Shape)
多种对象

Shape对象组成的集合,这些对象代表文档中或者文档页眉和页脚中的所有图形。每个 Shape对象代表图形层中的一个对象,诸如自选图形、任意多边形、OLE对象或图片等。

注意   如果需要处理文档图形的一个子集(例如只处理文档中的自选图形或仅处理选定的图形),就必须创建一个ShapeRange集合,以用该集合包含需要处理的图形。

使用 Shapes集合

Shapes属性可返回 Shapes集合。下例选定活动文档中的所有图形。


ActiveDocument.Shapes.SelectAll

注意   如果需要同时处理(例如删除或设置某个属性)文档中的所有图形,可用Range方法创建一个包含 Shapes集合中的所有图形的 ShapeRange对象,然后对 ShapeRange对象应用相应的属性或方法。

用 Shapes集合的下列方法之一可向文档中添加图形并返回一个 Shape对象(该对象代表了新创建的图形):AddCalloutAddCurveAddLabelAddLineAddOleControlAddOleObjectAddPolylineAddShapeAddTextboxAddTextEffectBuildFreeForm。下例向活动文档添加一个矩形。


ActiveDocument.Shapes.AddShape msoShapeRectangle, 50, 50, 100, 200

用 Shapes(index) 可返回单独的 Shape对象,其中 index 为该对象的名称或索引序号。下例水平翻转活动文档中的第一个图形。


ActiveDocument.Shapes(1).Flip msoFlipHorizontal

下例水平翻转活动文档中名为“Rectangle 1”的图形。


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

每个图形在创建时都得到一个默认的名称。例如,如果向文档中添加了三个不同的图形,它们将会得到诸如“矩形 2”、“文本框 3”和“椭圆 4”之类的名称。如果要给图形起一个更有意义的名称,请设置其 Name属性。

说明

Shapes集合不包含InlineShape对象。通常将 InlineShape对象视为字符,并可将其象字符一样置于一行文本之中。尽管 Shape对象的位置锁定于某一文本区域,但该对象可自由浮移,并可置于该页的任何位置。可用ConvertToInlineShape方法和ConvertToShape方法来转换图形的类型。但只能将图片、OLE对象和 ActiveX 控件转换为嵌入式图形。

文档中该集合的 Count属性仅返回正文部分的项目数。要统计所有页眉和页脚中的图形的数量,可使用任何 HeaderFooter对象的 Shapes集合。

Word VBA教程

Word VBA参考教程:目录1 Word VBA参考教程:目录2
Word VBA参考教程:目录3 Word VBA参考教程:目录4
Word VBA参考教程:目录5 Word VBA参考教程:目录6
Word VBA参考教程:目录7 Word VBA参考教程:目录8
Word VBA参考教程:目录9 Word VBA参考教程:目录10
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号