Объект Shape (Project)Shape object (Project)

Представляет объект в отчете о проекте, например диаграмму, таблицу отчетов, текстовое поле, рисунок с полилиниями или рисунок.Represents an object in a Project report, such as a chart, report table, text box, freeform drawing, or picture.

ПримечанияRemarks

Объект Shape является элементом коллекции Shapes , включающей все фигуры в отчете.The Shape object is a member of the Shapes collection, which includes all of the shapes in the report.

Примечание

Запись макроса для объекта Shape не реализована.Macro recording for the Shape object is not implemented. То есть, когда вы записываете макрос в Project и добавляете фигуру или редактирование элементов фигуры вручную, действия по добавлению и управлению фигур не записываются.That is, when you record a macro in Project and manually add a shape or edit shape elements, the steps for adding and manipulating the shape are not recorded.

Существует три объекта, представляющие фигуры: коллекция Shapes , которая представляет все фигуры в документе; Объект ShapeRange , который представляет заданное подмножество фигур в документе (например, объект ShapeRange может представлять фигуры с одним и четырьмя в документе, или может представлять все выбранные фигуры в документе); Объект Shape , представляющий отдельную фигуру в документе.There are three objects that represent shapes: the Shapes collection, which represents all the shapes on a document; the ShapeRange object, which represents a specified subset of the shapes on a document (for example, a ShapeRange object could represent shapes one and four on the document, or it could represent all the selected shapes on the document); and the Shape object, which represents a single shape on a document. Если вы хотите работать с несколькими фигурами одновременно или с фигурами в выделенной области, используйте коллекцию ShapeRange .If you want to work with several shapes at the same time or with shapes within the selection, use a ShapeRange collection.

USE Shapes(Index), где index — это имя фигуры или номер индекса, чтобы вернуть один объект Shape .Use Shapes(Index), where Index is the shape name or the index number, to return a single Shape object.

ПримерExample

В следующем примере макрос тесттекстшапе создает фигуру TextBox, добавляет некоторый текст и изменяет свойства стиля фигуры, заливки, линии, тени и отражения.In the following example, the TestTextShape macro creates a textbox shape, adds some text, and changes the shape style, fill, line, shadow, and reflection properties. Макрос флипшапе переворачивает фигуру сверху вниз.The FlipShape macro flips the shape from top to bottom.

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 is 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 показан результат, в котором выбрана фигура, чтобы сделать вкладку Формат ленты доступной, хотя активная вкладка разрабатывается в разделе инструменты отчета.Figure 1 shows the result, where the shape is selected to make the ribbon FORMAT tab under DRAWING TOOLS available, although the active tab is DESIGN under REPORT TOOLS. Если фигура не была выбрана, инструменты рисования и вкладка Формат отображаться не будут.If the shape were not selected, DRAWING TOOLS and the FORMAT tab would not be visible.

Рис. 1. Тестирование объектной модели фигурыFigure 1. Testing the Shape object model

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

МетодыMethods

ИмяName
ApplyApply
CopyCopy
CutCut
DeleteDelete
DuplicateDuplicate
FlipFlip
IncrementLeftIncrementLeft
IncrementRotationIncrementRotation
IncrementTopIncrementTop
PickUpPickUp
RerouteConnectionsRerouteConnections
ScaleHeightScaleHeight
ScaleWidthScaleWidth
SelectSelect
SetShapesDefaultPropertiesSetShapesDefaultProperties
UngroupUngroup
ZOrderZOrder

СвойстваProperties

ИмяName
AdjustmentsAdjustments
AlternativeTextAlternativeText
ApplicationApplication
AutoShapeTypeAutoShapeType
BackgroundStyleBackgroundStyle
BlackWhiteModeBlackWhiteMode
CalloutCallout
ChartChart
ChildChild
ConnectionSiteCountConnectionSiteCount
ConnectorConnector
ConnectorFormatConnectorFormat
FillFill
GlowGlow
GroupItemsGroupItems
HasChartHasChart
HasTableHasTable
HeightHeight
HorizontalFlipHorizontalFlip
IDID
LeftLeft
LineLine
LockAspectRatioLockAspectRatio
NameName
NodesNodes
ParentParent
ParentGroupParentGroup
ReflectionReflection
RotationRotation
ShadowShadow
ShapeStyleShapeStyle
SoftEdgeSoftEdge
TableTable
TextEffectTextEffect
TextFrameTextFrame
TextFrame2TextFrame2
ThreeDThreeD
TitleTitle
TopTop
TypeType
VerticalFlipVerticalFlip
VerticesVertices
VisibleVisible
WidthWidth
ZOrderPositionZOrderPosition

См. такжеSee also

Объект ReportReport Object

Объект ChartChart Object

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

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.