Поделиться через


Объект 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

В этом примере по горизонтали фигура с именем "Прямоугольник 1" отображается в активном документе.

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

Каждой фигуре присваивается имя по умолчанию при ее создании. Например, если добавить в документ три разных фигуры, они могут называться "Rectangle 2", "TextBox 3" и "Oval 4". Чтобы придать фигуре более понятное имя, задайте свойство Name .

Коллекция Shapes не включает объекты InlineShape . Объекты InlineShape обрабатываются как символы и размещаются как символы в строке текста. Объекты Shape привязываются к текстовому диапазону, однако могут свободно перемещаться и их можно располагать в любом месте на странице. Используйте метод ConvertToInlineShape и ConvertToShape для преобразования фигур из одного типа в другой. В встроенные фигуры можно преобразовывать только рисунки, объекты OLE и элементы ActiveX.

Свойство Count для этой коллекции в документе возвращает количество элементов только в основной истории. Чтобы подсчитать фигуры во всех колонтитулах, используйте коллекцию Фигуры с любым объектом HeaderFooter .

Методы

Имя
AddCallout
AddCanvas
AddChart2
AddCurve
AddLabel
AddLine
AddOLEControl
AddOLEObject
AddPicture
AddPolyline
AddShape
AddSmartArt
AddTextbox
AddTextEffect
Add3DModel
AddWebVideo
BuildFreeform
Item
Range
SelectAll

Свойства

Имя
Application
Count
Creator
Parent

См. также

Справочник по объектной модели Word

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.