Объект 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)
- Apply
- Copy
- CopyPicture
- Cut
- Delete
- Duplicate
- Flip
- IncrementLeft
- IncrementRotation
- IncrementTop
- PickUp
- RerouteConnections
- ScaleHeight
- ScaleWidth
- Select
- SetShapesDefaultProperties
- Ungroup
- ZOrder
- Adjustments
- AlternativeText
- Application
- AutoShapeType
- BackgroundStyle
- BlackWhiteMode
- BottomRightCell
- Callout
- Chart
- Child
- ConnectionSiteCount
- Connector
- ConnectorFormat
- ControlFormat
- Creator
- Decorative
- Fill
- FormControlType
- Glow
- GraphicStyle
- GroupItems
- HasChart
- HasSmartArt
- Height
- HorizontalFlip
- Hyperlink
- ID
- Left
- Line
- LinkFormat
- LockAspectRatio
- Locked
- Model3D
- Name
- Nodes
- OLEFormat
- OnAction
- Parent
- ParentGroup
- PictureFormat
- Placement
- Reflection
- Rotation
- Shadow
- ShapeStyle
- SmartArt
- SoftEdge
- TextEffect
- TextFrame
- TextFrame2
- ThreeD
- Title
- Top
- TopLeftCell
- Type
- VerticalFlip
- Vertices
- Visible
- Width
- ZOrderPosition
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.