Here is what I came up with based on the advice in this thread. Its verbose... but easier for me to understand. My first VLISP coding attempt. Thanks for all the help.
; Changes entities [DIMENSION, LEADER, MTEXT, TEXT] textHeight and arrowHeadSize
(defun c:tst (/ cnt ssetMtext ssetLeader ssettText ssetDimension sset1 obj)
; function defines page2TextSize and scaleArrowSize
;(if (= page2TextSize nil)(getUserVars))
(setq page2TextSize 6
scaleArrowSize 1.5)
; create empty lists
(setq ssetDimension (list)
ssetLeader (list)
ssetMtext (list)
ssetText (list))
; get big selection set
(if (setq sset1 (ssget))
(progn
; create selection sets for different entity types, ignoring other types
(setq cnt 0)
(while (< cnt (sslength sset1))
(setq ent (entget (ssname sset1 cnt)))
(if (= (cdr(assoc 0 ent)) "DIMENSION")
(setq ssetDimension (append ssetDimension (list (ssname sset1 cnt))))
)
(if (= (cdr(assoc 0 ent)) "LEADER")
(setq ssetLeader (append ssetLeader (list (ssname sset1 cnt))))
)
(if (= (cdr(assoc 0 ent)) "MTEXT")
(setq ssetMtext (append ssetMtext (list (ssname sset1 cnt))))
)
(if (= (cdr(assoc 0 ent)) "TEXT")
(setq ssetText (append ssetText (list (ssname sset1 cnt))))
)
(setq cnt (1+ cnt))
); end while
(vl-load-com)
; change properties of DIMENSION selection set
(foreach item ssetDimension
(setq obj (vlax-ename->vla-object item))
(vlax-put-property
obj
'TextHeight
page2TextSize
)
(vlax-put-property
obj
'ArrowheadSize
(* scaleArrowSize page2TextSize)
)
)
; change properties of LEADER selection set
(foreach item ssetLeader
(setq obj (vlax-ename->vla-object item))
(vlax-put-property
obj
'ArrowheadSize
(* scaleArrowSize page2TextSize)
)
)
; change properties of LEADER selection set
(foreach item ssetMtext
(setq obj (vlax-ename->vla-object item))
(vlax-put-property
obj
'Height
page2TextSize
)
)
; change properties of TEXT selection set
(foreach item ssetText
(setq obj (vlax-ename->vla-object item))
(vlax-put-property
obj
'Height
page2TextSize
)
)
(command "regen")
); end progn
); end if
(princ)
)