Прочитать на английском

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


Объект Shape (Word)

Представляет объект на слое рисования, например автофигуру, свободную форму, объект OLE, элемент ActiveX или рисунок. Объект Shape является членом коллекции Shapes , которая включает все фигуры в основной истории документа или во всех верхних и нижних колонтитулах документа.

Замечания

Фигура всегда присоединяется к диапазону привязки. Фигуру можно разместить в любом месте на странице, содержащей привязку.

Есть три объекта, которые представляют фигуры: коллекция Shapes , которая представляет все фигуры в документе; объект ShapeRange , представляющий указанное подмножество фигур в документе (например, объект ShapeRange может представлять фигуры один и четыре в документе, или он может представлять все выбранные фигуры в документе); и объект Shape , представляющий одну фигуру в документе. Если вы хотите работать с несколькими фигурами одновременно или с фигурами в выделенном фрагменте, используйте коллекцию ShapeRange .

Используйте фигуры (индекс), где индекс — это имя или номер индекса, чтобы вернуть один объект Shape . В следующем примере выполняется горизонтальное переворачивание фигуры на активном документе.

ActiveDocument.Shapes(1).Flip msoFlipHorizontal

В следующем примере по горизонтали фигура с именем Rectangle 1 отображается в активном документе.

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

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

Используйте ShapeRange (индекс), где индекс — это имя или номер индекса, чтобы вернуть объект Shape , представляющий фигуру в выделенном фрагменте. В следующем примере задается заливка для первой фигуры в выделенном фрагменте, при условии, что выделенная фигура содержит по крайней мере одну фигуру.

Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0)

В следующем примере задается заливка для всех фигур в выделенном фрагменте, при условии, что выделенная фигура содержит по крайней мере одну фигуру.

Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 0, 0)

Чтобы добавить объект Shape в коллекцию фигур для указанного документа и вернуть объект Shape , представляющий только что созданную фигуру, используйте один из следующих методов коллекции Shapes : AddCallout, AddCurve, AddLabel, AddLine, AddOleControl, AddOleObject, AddPolyline, AddShape, AddTextbox, AddTextEffect или BuildFreeForm. В следующем примере к активному документу добавляется прямоугольник.

ActiveDocument.Shapes.AddShape msoShapeRectangle, 50, 50, 100, 200

Используйте GroupItems (index), где index — это имя фигуры или номер индекса в группе, чтобы вернуть объект Shape , представляющий одну фигуру в сгруппированной фигуре.

Используйте метод Group или Regroup для группировки диапазона фигур и возврата одного объекта Shape , представляющего только что сформированную группу. После формирования группы вы можете работать с ней так же, как с любой другой фигурой.

Каждый объект Shape привязан к диапазону текста. Фигура привязана к началу первого абзаца, содержащего диапазон привязки. Фигура всегда будет оставаться на той же странице, что и ее привязка.

Саму привязку можно просмотреть, задав для свойства ShowObjectAnchors значение True. Свойства Верхней и Левой фигуры определяют ее вертикальное и горизонтальное положение. Свойства RelativeHorizontalPosition и RelativeVerticalPosition фигуры определяют, измеряется ли позиция из абзаца привязки, столбца, содержащего абзац привязки, поля или края страницы.

Если для свойства LockAnchor для фигуры задано значение True, вы не сможете перетащить привязку из ее положения на странице.

Используйте свойство Fill , чтобы вернуть объект FillFormat , содержащий все свойства и методы для форматирования заливки закрытой фигуры.

Свойство Shadow возвращает объект ShadowFormat , который используется для форматирования тени.

Свойство Line используется для возврата объекта LineFormat , который содержит свойства и методы форматирования линий и стрелок.

Свойство TextEffect возвращает объект TextEffectFormat , который используется для форматирования Объекта WordArt.

Свойство Callout возвращает объект CalloutFormat , который используется для форматирования выносок строк.

Свойство WrapFormat возвращает объект WrapFormat , который используется для определения способа переноса текста вокруг фигур.

Свойство ThreeD возвращает объект ThreeDFormat , который используется для создания трехмерных фигур.

Используйте методы PickUp и Apply для передачи форматирования из одной фигуры в другую.

Используйте метод SetShapesDefaultProperties для объекта Shape , чтобы задать форматирование фигуры по умолчанию для документа. Новые фигуры наследуют многие из своих атрибутов от фигуры по умолчанию.

Используйте свойство Type , чтобы указать тип фигуры: свободная форма, автофигура, объект OLE, выноска или связанное изображение, например. Используйте свойство AutoShapeType , чтобы указать тип AutoShape: овальный, прямоугольник или воздушный шар, например.

Используйте свойства Width и Height , чтобы указать размер фигуры.

Свойство TextFrame возвращает объект TextFrame , который содержит все свойства и методы для присоединения текста к фигурам и связывания текста между текстовыми кадрами.

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

Методы

Свойства

См. также

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

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