Shape 对象 (Word)

代表绘图层中的对象,例如自选图形、任意多边形、OLE 对象、ActiveX 控件或图片。 Shape 对象是 Shapes 集合的成员,该集合包括文档主文章或文档的所有页眉和页脚中的所有形状。

备注

形状总是附加到某个锚定范围。 可以将形状放置在包含定位点的页面上的任意位置。

有三个对象表示形状: Shapes 集合,表示文档上的所有形状; ShapeRange 对象,表示文档上形状的指定子集 (例如, ShapeRange 对象可以表示文档上的第一个形状和第四个形状,也可以表示文档) 上所有选定的形状;和 Shape 对象,表示文档中的单个形状。 如果您需要同时处理几个形状,或处理选定区域中的多个形状,请使用 ShapeRange 集合。

使用 Shapes (索引) (其中 index 是名称或索引号)返回单个 Shape 对象。 下面的示例水平翻转活动文档中的第一个形状。

ActiveDocument.Shapes(1).Flip msoFlipHorizontal

以下示例水平翻转活动文档中名为 Rectangle 1 的形状。

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

每个形状在被创建时即获得一个默认名称。 例如,如果在文档中添加三个不同形状,其名称可能是“矩形 2”、“文本框 3”和“椭圆 4”。 要使形状的名称更有意义,请设置 Name 属性。

使用 ShapeRange (索引) ,其中 index 是名称或索引号,可返回代表选定内容中形状的 Shape 对象。 假定所选内容包含至少一个形状,则以下示例为所选内容中的第一个形状设置填充效果。

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 对象。

使用 重组 方法组合形状范围并返回单个 Shape 对象表示新组成的组。 一组形成之后,处理组相同的方式使用任何其他形状。

每个 Shape 对象都锁定到某个文本范围。 将某个形状锁定到包含锁定范围的第一段的开头。 该形状总是与其锁定标记在同一页上。

可以通过将 ShowObjectAnchors 属性设置为 True 来查看定位点本身。 形状的 TopLeft 属性决定其垂直和水平位置。 形状的 RelativeHorizontalPositionRelativeVerticalPosition 属性则决定是从锚定段落、包含锚定段落的列、边距还是页边来测量位置。

如果形状的 LockAnchor 属性设置为 True 时,不能在页面上从其位置拖动锚点。

使用 Fill 属性可返回 FillFormat 对象,该对象包含用于设置封闭形状填充格式的所有属性和方法。

Shadow 属性会返回 ShadowFormat 对象,该对象可用于设置阴影的格式。

使用 Line 属性可返回 LineFormat 对象,该对象包含用于设置直线和箭头的格式的属性和方法。

TextEffect 属性会返回 TextEffectFormat 对象,该对象可用于设置艺术字的格式。

Callout 属性会返回 CalloutFormat 对象,该对象可用于设置线形标注的格式。

WrapFormat 属性会返回 WrapFormat 对象,该对象可用于定义文字环绕形状的方式。

ThreeD 属性返回 ThreeDFormat 对象,用于创建 3D 形状。

使用 PickUpApply 方法将格式从一个形状传输到另一个形状。

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

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

使用 宽度高度 属性来指定形状的大小。

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

Shape 对象锁定到某一文本范围,但可以自由浮动,并且可以放置在页面上的任何位置。 InlineShape 对象被视为字符,并作为字符置于文本行中。 使用 ConvertToInlineShape 方法和 ConvertToShape 方法可将形状从一种类型转换为另一种类型。 只能将图片、OLE 对象和 ActiveX 控件转换为内嵌形状。

方法

属性

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。