Document.Shapes Property (Word)

Office 2013 and later

Contribute to this content

Use GitHub to suggest and submit changes. See our guidelines for contributing to VBA documentation.

Returns a Shapes collection that represents all the Shape objects in the specified document. Read-only.

expression .Shapes

expression A variable that represents a Document object.

This collection can contain drawings, shapes, pictures, OLE objects, ActiveX controls, text objects, and callouts. For information about returning a single member of a collection, see Returning an Object from a Collection.

The Shapes property, when applied to a document, returns all the Shape objects in the main story of the document, excluding the headers and footers.

This example creates a new document, adds a rectangle to it that's 100 points wide and 50 points high, and sets the upper-left corner of the rectangle to be 5 points from the left edge and 25 points from the upper-left corner of the page.

Set myDoc = Documents.Add 
myDoc.Shapes.AddShape msoShapeRectangle, 5, 25, 100, 50

This example sets the fill texture for all the shapes in the active document.

For each s in ActiveDocument.Shapes 
 s.Fill.PresetTextured msoTextureOak 
Next s

This example adds a shadow to the first shape in the active document.

Set myShape = ActiveDocument.Shapes(1) 
myShape.Shadow.Type = msoShadow6