Метод Shapes.BuildFreeform (Project)
Создает объект FreeformBuilder , представляющий новый документ свободной формы. Документ свободной формы можно преобразовать в объект Shape .
Синтаксис
выражение.
BuildFreeform
(EditingType,X1,Y1)
выражение: переменная, представляющая объект Shapes.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
EditingType | Обязательный | MsoEditingType | Свойство редактирования первого узла. |
X1 | Обязательный | Single | Позиция (в точках) первого узла в документе свободной формы относительно левого края отчета. |
Y1 | Обязательный | Single | Позиция (в точках) первого узла в документе свободной формы относительно верхнего края отчета. |
EditingType | Обязательный | MSOEDITINGTYPE | |
X1 | Обязательный | FLOAT | |
Y1 | Обязательный | FLOAT | |
Имя | Обязательный или необязательный | Тип данных | Описание |
Возвращаемое значение
FreeformBuilder
Замечания
Используйте метод AddNodes для добавления сегментов в свободную форму. После добавления хотя бы одного сегмента во свободную форму можно использовать метод ConvertToShape для преобразования объекта FreeformBuilder в объект Shape с заданным геометрическим описанием.
Пример
В следующем примере в отчет добавляется свободная форма с пятью вершинами, она преобразуется в фигуру, а затем изменяет стиль фона фигуры.
Sub AddFreeform2()
Dim shapeReport As Report
Dim reportName As String
Dim freeformBuild As FreeformBuilder
Dim freeformShape As shape
reportName = "Freeform2 report"
Set shapeReport = ActiveProject.Reports.Add(reportName)
Set freeformBuild = shapeReport.Shapes.BuildFreeform(msoEditingCorner, 360, 200)
With freeformBuild
.AddNodes msoSegmentCurve, msoEditingCorner, 380, 230, 400, 450, 300
.AddNodes msoSegmentCurve, msoEditingAuto, 480, 200
.AddNodes msoSegmentLine, msoEditingAuto, 480, 400
.AddNodes msoSegmentLine, msoEditingAuto, 360, 200
.ConvertToShape
End With
Set freeformShape = shapeReport.Shapes(1)
freeformShape.BackgroundStyle = msoBackgroundStylePreset10
End Sub
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.