Объект Shape (Проект)
Представляет объект в отчете Project, например диаграмму, таблицу отчета, текстовое поле, рисунок свободной формы или рисунок.
Замечания
Объект Shape является членом коллекции Shapes , которая включает все фигуры в отчете.
Примечание.
Запись макроса для объекта Shape не реализована. То есть, когда вы записываете макрос в Project и вручную добавляете фигуру или редактируете элементы фигуры, шаги по добавлению фигуры и управлению ими не записываются.
Есть три объекта, которые представляют фигуры: коллекция Shapes , которая представляет все фигуры в документе; объект 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 показан результат, в котором выбрана фигура, чтобы сделать вкладку ФОРМАТ ленты в разделе СРЕДСТВА РИСОВАНИЯ доступной, хотя активной вкладкой является КОНСТРУКТОР в разделе ИНСТРУМЕНТЫ ОТЧЕТОВ. Если фигура не выбрана, инструменты рисования и вкладка ФОРМАТ не будут видны.
Рис. 1. Тестирование объектной модели фигур
Методы
Имя |
---|
Apply |
Copy |
Cut |
Delete |
Duplicate |
Flip |
IncrementLeft |
IncrementRotation |
IncrementTop |
PickUp |
RerouteConnections |
ScaleHeight |
ScaleWidth |
Select |
SetShapesDefaultProperties |
Ungroup |
ZOrder |
Свойства
См. также
Объект диаграммы объекта отчета
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.