ShapeNodes Collection

Microsoft Publisher Visual Basic

ShapeNodes Collection

Multiple objects ShapeNodes
ShapeNode

A collection of all the ShapeNode objects in the specified freeform. Each ShapeNode object represents either a node between segments in a freeform or a control point for a curved segment of a freeform. You can create a freeform manually or by using the BuildFreeform and ConvertToShape methods.

Using the ShapeNodes Collection

Use the Nodes property to return a ShapeNodes collection. The following example deletes node four in shape three on the active document. For this example to work, shape three must be a freeform with at least four nodes.

Sub DeleteShapeNode()
    ActiveDocument.Pages(1).Shapes(3).Nodes.Delete Index:=4
End Sub
		

Use the Insert method to create a new node and add it to the ShapeNodes collection. The following example adds a smooth node with a curved segment after node four in shape three on the active document. For this example to work, shape three must e a freeform with at least four nodes.

Sub AddCurvedSmoothSegment()
    ActiveDocument.Pages(1).Shapes(3).Nodes.Insert _
        Index:=4, SegmentType:=msoSegmentCurve, _
        EditingType:=msoEditingSmooth, X1:=210, Y1:=100
End Sub
		

Use Nodes(index), where index is the node index number, to return a single ShapeNode object. If node one in shape three on the active document is a corner point, the following example makes it a smooth point. For this example to work, shape three must be a freeform.

Sub SetPointType()
    With ActiveDocument.Pages(1).Shapes(3)
        If .Nodes(1).EditingType = msoEditingCorner Then
            .Nodes.SetEditingType Index:=1, EditingType:=msoEditingSmooth
        End If
    End With
End Sub