AddCurve Method

Microsoft Word Visual Basic

Returns a Shape object that represents a Bézier curve in a drawing canvas.

expression.AddCurve(SafeArrayOfPoints)

expression    Required. An expression that returns a CanvasShapes object..

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.

Show AddCurve method as it applies to the Shapes object.

Returns a Shape object that represents a Bézier curve in a document.

expression.AddCurve(SafeArrayOfPoints, Anchor)

expression    Required. An expression that returns a Shapes object.

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.

Anchor   Optional Variant. A Range object that represents the text to which the curve is bound. If Anchor is specified, the anchor is positioned at the beginning of the first paragraph in the anchoring range. If this argument is omitted, the anchoring range is selected automatically and the curve is positioned relative to the top and left edges of the page.

Example

Show As it applies to the CanvasShapes object.

This example adds a Bézier curve to a new drawing canvas.

Sub CanvasBezier()

    Dim docNew As Document
    Dim shpCanvas As Shape
    Dim sngArray(1 To 7, 1 To 2) As Single

    Set docNew = Documents.Add

    'Create a new drawing canvas
    Set shpCanvas = docNew.Shapes.AddCanvas(Left:=100, _
        Top:=100, Width:=300, Height:=50)

    sngArray(1, 1) = 0
    sngArray(1, 2) = 0
    sngArray(2, 1) = 50
    sngArray(2, 2) = 50
    sngArray(3, 1) = 100
    sngArray(3, 2) = 0
    sngArray(4, 1) = 150
    sngArray(4, 2) = 50
    sngArray(5, 1) = 200
    sngArray(5, 2) = 0
    sngArray(6, 1) = 250
    sngArray(6, 2) = 50
    sngArray(7, 1) = 300
    sngArray(7, 2) = 0

    'Add Bezier curve to drawing canvas
    shpCanvas.CanvasItems.AddCurve _
        SafeArrayOfPoints:=sngArray

End Sub
				

Show As it applies to the Shapes object.

This example adds a two-segment Bézier curve to the active document and anchors it to the second paragraph.

Sub BezierCurve()
    Dim sngArray(1 To 7, 1 To 2) As Single

    sngArray(1, 1) = 0
    sngArray(1, 2) = 0
    sngArray(2, 1) = 72
    sngArray(2, 2) = 72
    sngArray(3, 1) = 100
    sngArray(3, 2) = 40
    sngArray(4, 1) = 20
    sngArray(4, 2) = 50
    sngArray(5, 1) = 90
    sngArray(5, 2) = 120
    sngArray(6, 1) = 60
    sngArray(6, 2) = 30
    sngArray(7, 1) = 150
    sngArray(7, 2) = 90

    ActiveDocument.Shapes.AddCurve _
        SafeArrayOfPoints:=sngArray, _
        Anchor:=ActiveDocument.Paragraphs(2).Range
End Sub