# Shape.Vertices Property (Publisher)

Returns the coordinates of the specified freeform drawing's vertices (and control points for Bézier curves) as a series of coordinate pairs. Read-only **Variant**.

## Syntax

*expression*. **Vertices**

*expression* A variable that represents a **Shape** object.

## Remarks

You can use the array returned by this property as an argument to the AddCurveor AddPolylinemethods.

The following table shows how the **Vertices** property associates the values in the array `vertArray()`

with the coordinates of a triangle's vertices.

vertArray element |
Contains |
---|---|

`vertArray(1, 1)` |
The horizontal distance from the first vertex to the left side of the page. |

`vertArray(1, 2)` |
The vertical distance from the first vertex to the top of the page. |

`vertArray(2, 1)` |
The horizontal distance from the second vertex to the left side of the page. |

`vertArray(2, 2)` |
The vertical distance from the second vertex to the top of the page. |

`vertArray(3, 1)` |
The horizontal distance from the third vertex to the left side of the page. |

`vertArray(3, 2)` |
The vertical distance from the third vertex to the top of the page. |

## Example

This example assigns the vertex coordinates for shape one in the active publication to the array variable `vertArray()`

and displays the coordinates for the first vertex.

```
Dim vertArray As Variant
Dim sngX1 As Single
Dim sngY1 As Single
With ActiveDocument.Pages(1).Shapes(1)
vertArray = .Vertices
sngX1 = vertArray(1, 1)
sngY1 = vertArray(1, 2)
MsgBox "First vertex coordinates: " &; sngX1 &; ", " &; sngY1
End With
```

This example creates a curve that has the same geometric description as shape one in the active publication. Shape one must contain 3n+1 vertices for this example to work, where n is an integer greater than or equal to 1.

```
With ActiveDocument.Pages(1).Shapes
.AddCurve SafeArrayOfPoints:=.Item(1).Vertices
End With
```