Word VBA教程:Shape对象

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

代表一个图形层对象,例如自选图形、任意多边形、OLE对象、ActiveX 控件、图片等。Shape对象是Shapes集合的一个成员,该集合包含了一篇文档正文部分的所有图形,或文档页眉和页脚部分中的所有图形。

一个图形总是附属于某一带锁定标记的区域。可将图形放于锁定标记所在的页面的任何位置。

注意   有三种对象可代表图形:Shapes集合代表了文档中的所有图形;ShapeRange集合代表了文档全部图形的一个指定子集(例如,ShapeRange对象可以代表文档中的第一个和第四个图形,也可代表文档中所有选定的图形);Shape对象代表文档中的单个图形。如果需要对几个图形(或选定部分中的多个图形)同时进行操作,可以使用 ShapeRange集合。

使用 Shape对象

本节说明应如何:

返回文档中的一个原有图形

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


ActiveDocument.Shapes(1).Flip msoFlipHorizontal

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


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

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

返回选定部分中的一个或多个图形

用 Selection.ShapeRange(index) 可返回一个 Shape对象,该对象代表选定部分中的一个图形,其中 index 为图形名称或索引序号。下例设置选定部分中第一个图形的填充效果(假定在选定部分中至少有一个图形)。


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

下例为选定部分中所有图形设置填充效果(假定选定部分至少包含一个图形)。


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

返回一个新创建的图形

如果要向指定文档的图形集合添加一个 Shape对象,并返回一个代表新创建的图形 Shape对象,请使用 Shapes集合的下列方法之一:AddCalloutAddCurveAddLabelAddLineAddOleControlAddOleObjectAddPolylineAddShapeAddTextboxAddTextEffectBuildFreeForm。下例将一个矩形添加到活动文档。


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

返回组合中的单个图形

用 GroupItems(index) 可以返回 Shape对象,该对象代表组合中的单个图形,其中 index 为图形在该组中的名称或索引序号。

返回新近组合的一组图形

GroupRegroup方法可对某一区域的图形加以组合,并返回单独的 Shape对象,该对象代表该新组合。在一个组合形成之后,处理该组合的方式与处理其他图形的方式相同。

锁定和放置图形

每个 Shape对象都锁定于某一区域的文本。一个图形位置锁定于包含锁定标记的区域的第一段的开始处。该图形总是与其锁定标记处于同一页上。

ShowObjectAnchors属性设置为 True,就可看到锁定标记。该图形的TopLeft属性确定图形的垂直和水平位置。该图形的RelativeHorizontalPositionRelativeVerticalPosition属性确定图形的定位依据:可以是锁定标记所在的段落、包含该段落所在的栏、页边距或页面边缘。

如果图形的LockAnchor属性为 True,则不能在页面上拖动锁定标记。

设置图形的格式

用 Fill属性可返回一个FillFormat对象,该对象包含了设置封闭图形填充效果所需的所有属性和方法。用 Shadow属性可返回ShadowFormat对象,该对象可用来设置阴影。用 Line属性可返回LineFormat对象,该对象包含了设置线条和箭头效果所需的各种属性和方法。用 TextEffect属性可返回TextEffectFormat对象,该对象可用来设置“艺术字”的格式。用 Callout属性可返回CalloutFormat对象,该对象可用来设置线型标注的格式。用 WrapFormat属性可返回WrapFormat对象,该对象可用来定义文字环绕图形的方式。用 ThreeD属性可返回ThreeDFormat对象,该对象可用来创建三维图形。用PickUpApply方法可将一个图形的格式传递给(即应用于)另一个图形。

用 Shape对象的SetShapesDefaultProperties方法可设置文档的默认图形格式。新的图形可继承默认图形的多种属性。

图形的其他重要属性

Type属性可指定图形的类型,例如任意多边形、自选图形、OLE对象、标注或链接图片。用AutoShapeType属性可以指定自选图形的类型,例如椭圆、矩形或气球形。

WidthHeight属性可指定图形尺寸。

TextFrame属性返回TextFrame对象,该对象包含了将文本附加于图形以及链接文本框之间的文本所需的所有属性和方法。

说明

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

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号