Sub Test() Dim s As Shape Dim seg As Segment Set s = ActiveShape If s.Type = cdrCurveShape Then For Each seg In s.Curve.Segments If seg.Type = cdrCurveSegment Then seg.StartingControlPointAngle = Constrain(seg.StartingControlPointAngle) seg.EndingControlPointAngle = Constrain(seg.EndingControlPointAngle) End If Next seg End IfEnd SubPrivate Function Constrain(a As Double) As Double Constrain = Fix(a / 45 + 0.5) * 45End Function