Shapes 对象 (Word)
Shape 对象的集合,这些对象表示文档中的所有形状或文档中的所有页眉和页脚中的所有形状。 每个 Shape 对象都代表绘图层中的一个对象,如自选图形、任意多边形、OLE 对象或图片。
如果要处理文档中的一部分形状(例如,仅对文档中的自选图形或仅对所选形状执行某些操作),则必须构造一个包含要处理的形状的 ShapeRange 集合。
使用 Shapes 属性可返回 Shapes 集合。 以下示例选择活动文档中的所有形状。
ActiveDocument.Shapes.SelectAll
备注
如果要同时对文档上的所有形状执行 (操作(如删除或设置属性) ),请使用 Range 方法创建一个 ShapeRange 对象,该对象包含 Shapes 集合中的所有形状,然后将相应的属性或方法应用于 ShapeRange 对象。
使用 Shapes 集合的下列方法之一: Add3DModel、 AddCallout、 AddCurve、 AddLabel、 AddLine、 AddOleControl、 AddOleObject、 AddPolyline、 AddShape、 AddTextbox、 AddTextEffect 或 BuildFreeForm 将形状添加到文档返回一个代表新创建的形状的 Shape 对象。 下面的示例向活动文档添加一个矩形。
ActiveDocument.Shapes.AddShape msoShapeRectangle, 50, 50, 100, 200
使用 Shapes (Index) (其中 Index 是名称或索引号)返回单个 Shape 对象。 以下示例水平翻转活动文档中的形状一。
ActiveDocument.Shapes(1).Flip msoFlipHorizontal
以下示例水平翻转活动文档中名为“Rectangle 1”的形状。
ActiveDocument.Shapes("Rectangle 1").Flip msoFlipHorizontal
每个形状创建时分配一个默认名称。 例如,如果将三个不同的形状添加到文档中,它们可能名为“矩形 2”、“TextBox 3”和“椭圆 4”。若要为形状指定更有意义的名称,请设置 Name 属性。
Shapes 集合不包括 InlineShape 对象。 InlineShape 对象被视为字符,并作为字符置于文本行中。 Shape 对象锁定到某一文本范围,但可以自由浮动,并且可以放置在页面上的任何位置。 使用 ConvertToInlineShape 方法和 ConvertToShape 方法可将形状从一种类型转换为另一种类型。 您可以将图片、 OLE 对象和 ActiveX 控件转换为嵌入式图形。
一个文档中,以上集合的 Count 属性返回正文部分的项目数。 要统计所有页眉和页脚中的形状个数,请使用带有任何 HeaderFooter 对象的 Shapes 集合。
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。