This example replaces the custom drop for shape one on myDocument
with one of two preset drops, depending on whether the custom drop value is greater than or less than half the height of the callout text box. For the example to work, shape one must be a callout.
Set myDocument = ActiveDocument
With myDocument.Shapes(1).Callout
If .DropType = msoCalloutDropCustom Then
If .Drop < .Parent.Height / 2 Then
.PresetDrop msoCalloutDropTop
Else
.PresetDrop msoCalloutDropBottom
End If
End If
End With