Метод Curve.Points (Visio)
Возвращает массив точек, определяющий полилиню, которая приблизительно соответствует объекту Path или Curve в пределах заданного допуска.
Синтаксис
expression. Точки (Tolerance, xyArray())
Выражение Переменная, представляющая объект Curve .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Допуск | Обязательный | Double | Указывает, насколько близко возвращаемый массив точек должен приблизить истинный путь. |
xyArray() | Обязательный | Double | Возвращает массив чередующихся значений x и y , указывающих точки вдоль хода пути или кривой. |
Возвращаемое значение
Отсутствует
Примечания
Метод Points объекта Path или Curve используется для получения массива координат x,y, указывающих точки вдоль пути или кривой в пределах заданного допуска. Допустимые и возвращаемые значения x,y выражаются во внутренних единицах рисования (дюймах).
Если вы использовали свойство Paths объекта Shapes для получения запрашиваемого объекта Path или Curve , координаты выражаются в родительской системе координат. Если вы использовали свойство PathsLocal объекта Shape для получения объекта Path или Curve , координаты выражаются в локальной системе координат.
Если Microsoft Visio не может достичь запрошенного допуска, Visio приблизит точки как можно ближе к запрошенной погрешности. Вообще говоря, чем ниже допуск, тем больше точек возвращает Visio. Visio не допускает допуска нуля (0).
Возвращаемый массив содержит начальную и конечную точки пути или кривой, даже если он закрыт.
Пример
Этот макрос Microsoft Visual Basic для приложений (VBA) помещает фигуру на страницу, извлекает ее коллекцию Paths, а затем использует метод Points объекта Path для возврата массива точек, который определяет полилиню, приближенную к объекту Path.
Public Sub Points_Example()
Dim vsoShape As Visio.Shape
Dim adblXYPoints() As Double
Dim strPointsList As String
Dim intOuterLoopCounter As Integer
Dim intInnerLoopCounter As Integer
Set vsoShape = ActivePage.DrawOval(1, 1, 4, 4)
For intOuterLoopCounter = 1 To vsoShape.Paths.Count
vsoShape.Paths(intOuterLoopCounter).Points 0.1, adblXYPoints
For intInnerLoopCounter = LBound(adblXYPoints) To UBound(adblXYPoints)
strPointsList = strPointsList & adblXYPoints(intInnerLoopCounter) & Chr(10)
Next intInnerLoopCounter
Next intOuterLoopCounter
Debug.Print strPointsList
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.