And you may to look into Activex, sth like this :
Code:(defun C:upd(/ key lst tmp) (cond ( (ssget (list (cons 0 "DIMENSION"))) (setq lst '((0 . "Centered")(1 . "Above")(2 . "Outside")(3 . "JIS"))) (princ "Please select number 1 to 4 to take effect") (while (/= 32 (setq key (cadr (grread nil 4 1)))) (vlax-for dObj (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object))) (vla-put-VerticalTextPosition dObj (setq tmp (- key 49)) ) ) (princ (strcat "\nChange DimText Position to " (cdr (assoc tmp lst)))) ) ) (T (princ "Nothing to do")) ) (princ) )