Here is a place to start.
If you have the vla-object of a dynamic block you can get the dynamic block properties of that block.
This returns a list of sublists including the propertyname, value and the vla-object of the property (which you can use to change the property using activeX.
Part of using code is to try to code a solution first, then ask questions...
P=
Code:
(defun DynamicSublists (objSelection / lstProperties)
(if (and (= (type objSelection) 'vla-object)
(vlax-property-available-p objSelection "IsDynamicBlock")
(= (vla-get-IsDynamicBlock objSelection) :vlax-true)
(setq lstProperties (errortrap '(vlax-invoke objSelection "GetDynamicBlockProperties")))
)
(mapcar '(lambda (x)(list (vla-get-propertyname X)
(vlax-get X "value")
X
)
)
lstProperties
)
)
)
(defun ErrorTrap (symFunction / objError result)
(if (vl-catch-all-error-p
(setq objError (vl-catch-all-apply
'(lambda (X)(set X (eval symFunction)))
(list 'result))))
nil
(if result result 'T)
)
)
(vl-load-com)