Sub Test() Dim seg As Segment, ls As Long, cs As Long If ActiveShape Is Nothing Then Exit Sub If ActiveShape.Type <> cdrCurveShape Then Exit Sub ls = 0 cs = 0 For Each seg In ActiveShape.Curve.Segments Select Case seg.Type Case cdrLineSegment ls = ls + 1 Case cdrCurveSegment cs = cs + 1 End Select Next seg MsgBox "The current curve has " & ActiveShape.Curve.Segments.Count & _ " segments including:" & vbCr & _ "Line segments: " & ls & vbCr & _ "Curve segments: " & cs End Sub