Vertices Property

Microsoft Excel Visual Basic

Returns the coordinates of the specified freeform drawing's vertices (and control points for Bézier curves) as a series of coordinate pairs. You can use the array returned by this property as an argument to the AddCurve method or AddPolyLine method. Read-only Variant.

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 document
vertArray(1, 2) The vertical distance from the first vertex to the top of the document
vertArray(2, 1) The horizontal distance from the second vertex to the left side of the document
vertArray(2, 2) The vertical distance from the second vertex to the top of the document
vertArray(3, 1) The horizontal distance from the third vertex to the left side of the document
vertArray(3, 2) The vertical distance from the third vertex to the top of the document

Example

This example assigns the vertex coordinates for shape one on myDocument to the array variable vertArray() and displays the coordinates for the first vertex.

Set myDocument = Worksheets(1)
With myDocument.Shapes(1)
    vertArray = .Vertices
    x1 = vertArray(1, 1)
    y1 = vertArray(1, 2)
    MsgBox "First vertex coordinates: " & x1 & ", " & y1
End With
		

This example creates a curve that has the same geometric description as shape one on myDocument. Shape one must contain 3n+1 vertices for this example to succeed.

Set myDocument = Worksheets(1)
With myDocument.Shapes
    .AddCurve .Item(1).Vertices
End With