ShapeNodes CollectionShapeNodes Collection
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.
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