AddCurve Method
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
Adds a new Shape object representing a Bézier curve to the specified Shapes collection.
expression.AddCurve(SafeArrayOfPoints)
expression Required. An expression that returns one of the objects in the Applies To list.
SafeArrayOfPoints Required Variant. An array of coordinate pairs that specifies the vertices and control points of the curve. The first point you specify is the starting vertex, and the next two points are control points for the first Bézier segment. Then, for each additional segment of the curve, you specify a vertex and two control points. The last point you specify is the ending vertex for the curve. Note that you must always specify 3n + 1 points, where n is the number of segments in the curve.
Remarks
For the array elements in SafeArrayOfPoints, numeric values are evaluated in points; strings can be in any units supported by Microsoft Publisher (for example, "2.5 in").
Example
The following example adds a two-segment Bézier curve to the first page of the active publication.
Dim shpCurve As Shape
Dim arrPoints(1 To 4, 1 To 2) As Single
arrPoints(1, 1) = 0
arrPoints(1, 2) = 0
arrPoints(2, 1) = 72
arrPoints(2, 2) = 72
arrPoints(3, 1) = 144
arrPoints(3, 2) = 36
arrPoints(4, 1) = 216
arrPoints(4, 2) = 108
Set shpCurve = ActiveDocument.Pages(1).Shapes.AddCurve _
(SafeArrayOfPoints:=arrPoints)