Should be very easy, but I lack node manipulation knowledge and couldn't find the magic code words.
This might get you started:
Sub add_node_halfway_selected_segment() Dim nodeThis As Node Dim noderangeSelected As New NodeRange For Each nodeThis In ActiveShape.Curve.Nodes.All If nodeThis.Selected Then noderangeSelected.Add nodeThis End If Next nodeThis If noderangeSelected.Count = 1 Then If noderangeSelected(1).Index > 1 Or noderangeSelected(1).SubPath.Closed Then noderangeSelected(1).segment.AddNodeAt 0.5, cdrRelativeSegmentOffset Else MsgBox "Selected Node cannot be the first Node of an open SubPath" End If Else MsgBox "Exactly one Node must be selected." End If End Sub
That doesn't get into the niceties of checking that a document is active, checking that the selection is a single Curve shape, error handling, etc.,
Note that the node you need to select is the "end node" of the segment to which you wish to add the new node.
Eskimo to the rescue - mo :D
As for the built-in way noted in your other reply, that is good to know because that is often mostly all I need to do. But with the code provided, I can now think of ways to expand upon it to be used either before or after other parts of a larger process. So thanks!