Фигура объекта (проект)

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

Примечания

Объект Shape входит в коллекцию Shapes , в которую входят все фигуры отчета.

Примечание.

Запись макросов для объекта Shape не реализована. Это означает, что при записи макроса в Project и ручном добавлении фигуры или редактировании ее элементов действия по добавлению фигуры и работе с ней не записываются.

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

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

Пример

В приведенном ниже примере макрос TestTextShape создает фигуру текстового поля, добавляет текст и изменяет свойства фигуры "Стиль", "Заливка", "Линия", "Тень" и "Отражение". Макрос FlipShape отражает фигуру сверху вниз.

Sub TestTextShape()
    Dim theReport As Report
    Dim textShape As Shape
    Dim reportName As String
    
    reportName = "Simple scalar chart"
    
    Set theReport = ActiveProject.Reports(reportName)
    Set textShape = theReport.Shapes.AddTextbox(msoTextOrientationHorizontal, 30, 30, 300, 100)
    textShape.Name = "TestTextBox"
    
    textShape.TextFrame2.TextRange.Characters.Text = "This is a test. It's only a test. " _
        & "If it had been real information, there would be some real text here."
    textShape.TextFrame2.TextRange.Characters(1, 15).ParagraphFormat.FirstLineIndent = 0
    
    ' Set the font for the first 15 characters to dark blue bold.
    With textShape.TextFrame2.TextRange.Characters(1, 15).Font
        .Fill.Visible = msoTrue
        .Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent5
        .Fill.Transparency = 0
        .Fill.Solid
        .Size = 14
        .Bold = msoTrue
    End With
    
    textShape.ShapeStyle = msoShapeStylePreset42
    
    With textShape.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 255, 0)
        .Transparency = 0
        '.Solid
    End With
   
    With textShape.Line
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorText1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
    End With

    textShape.Shadow.Type = msoShadow22
    textShape.Reflection.Type = msoReflectionType3
End Sub

Sub FlipShape()
    Dim theReport As Report
    Dim theShape As Shape
    Dim reportName As String
    Dim shapeName As String
    
    reportName = "Simple scalar chart"
    shapeName = "TestTextBox"
    
    Set theShape = ActiveProject.Reports(reportName).Shapes(shapeName)

    theShape.Flip msoFlipVertical
    theShape.Select
End Sub

На рисунке 1 показан результат, в котором выбрана фигура, чтобы сделать ленту вкладкой FORMAT в разделе DRAWING TOOLS , хотя активная вкладка находится DESIGN в REPORT TOOLS. Если фигура не выбрана, вкладки "Средства рисования " и "Формат " не будут отображаться.

Рис. 1. Тестирование объектной модели фигур

Тестирование объектной модели фигур

Методы

Имя
Apply
Copy
Cut
Delete
Duplicate
Flip
IncrementLeft
IncrementRotation
IncrementTop
PickUp
RerouteConnections
ScaleHeight
ScaleWidth
Select
SetShapesDefaultProperties
Ungroup
ZOrder

Свойства

Имя
Adjustments
AlternativeText
Application
AutoShapeType
BackgroundStyle
BlackWhiteMode
Callout
Chart
Child
ConnectionSiteCount
Connector
ConnectorFormat
Fill
Glow
GroupItems
HasChart
HasTable
Height
HorizontalFlip
ID
Left
Line
LockAspectRatio
Name
Nodes
Parent
ParentGroup
Reflection
Rotation
Shadow
ShapeStyle
SoftEdge
Table
TextEffect
TextFrame
TextFrame2
ThreeD
Title
Top
Type
VerticalFlip
Vertices
Visible
Width
ZOrderPosition

См. также

объект отчетаобъект диаграммы

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

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