Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Представляет объект в отчете 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 и обратная связь.