Объект Shape (Excel)

Представляет объект в слое рисования, например автофигуру, свободную форму, объект OLE или рисунок.

Замечания

Объект Shape является членом коллекции Shapes . Коллекция Shapes содержит все фигуры в книге.

Примечание.

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

Чтобы вернуться... Использовать...
Объект Shape , представляющий одну из фигур, присоединенных соединителем Свойство BeginConnectedShape или EndConnectedShape объекта ConnectorFormat .
Только что созданная свободная форма Методы BuildFreeform и AddNodes определяют геометрию новой свободной формы и используют метод ConvertToShape для создания свободной формы и возврата объекта Shape , представляющего ее.
Объект Shape , представляющий одну фигуру в сгруппированной фигуре GroupItems (index), где индекс — это имя фигуры или номер индекса в группе.
Вновь сформированная группа фигур Метод Group или Regroup объекта ShapeRange для группировки диапазона фигур и возврата одного объекта Shape , представляющего только что сформированную группу. После формирования группы вы можете работать с ней так же, как с любой другой фигурой.
Объект Shape , представляющий существующую фигуру Фигуры (индекс), где индекс — это имя фигуры или номер индекса.
Объект Shape , представляющий фигуру в выделенном фрагменте Выделение. ShapeRange (index), где индекс — это имя фигуры или номер индекса.

Пример

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

Set myDocument = Worksheets(1) 
myDocument.Shapes(1).Flip msoFlipHorizontal 
myDocument.Shapes("Rectangle 1").Flip msoFlipHorizontal

Каждой фигуре присваивается имя по умолчанию при ее добавлении в коллекцию Фигуры . Чтобы придать фигуре более понятное имя, используйте свойство Name . В следующем примере в myDocument добавляется прямоугольник, ему присваивается имя Красный квадрат, а затем задается цвет переднего плана и стиль линии.

Set myDocument = Worksheets(1) 
With myDocument.Shapes.AddShape(msoShapeRectangle, _ 
 144, 144, 72, 72) 
 .Name = "Red Square" 
 .Fill.ForeColor.RGB = RGB(255, 0, 0) 
 .Line.DashStyle = msoLineDashDot 
End With

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

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

Методы

Свойства

См. также

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

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