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 控件转换为嵌入式图形。