You can toggle dynamic properties using VBA thus:
Option Explicit
Private Sub ScanBlks()
Dim dybprop As Variant, i As Integer
Dim bobj As AcadEntity
For Each bobj In ThisDrawing.ModelSpace
If bobj.ObjectName = "AcDbBlockReference" Then
If bobj.IsDynamicBlock Then
If bobj.EffectiveName = "cirtagleader" Then
dybprop = bobj.GetDynamicBlockProperties
For i = LBound(dybprop) To UBound(dybprop)
If dybprop(i).PropertyName = "Visibility" Then
dybprop(i).Value = "Leader Off"
End If
Next i
End If
End If
End If
Next
End Sub
The above example changes the "Visibility" visibility state of a block "cirtagleader" to "Leader Off" for each insert in the
drawing.
I insert the block, then request attributes for the block. You can use the initget VB equivalent to prompt to change a dynamic
property while getting the attributes. I've written something in lisp to do this, but not in VB. Should be easy enough to do
though:
Insertion point:
Enter Detail Number (or Y to flip line) <4>: y ;;; here user keyed y to flip the dynamic block using code similar to the above.
Enter Detail Number (or Y to flip line) <4>:
Enter Sheet Number :