Give this a try:
Code:
(vl-load-com)
(defun c:FOO (/ *error* acDoc s i)
(defun *error* (msg)
(if acDoc
(vla-endundomark acDoc)
)
(cond ((not msg)) ; Normal exit
((member msg '("Function cancelled" "quit / exit abort"))) ; <esc> or (quit)
((princ (strcat "\n** Error: " msg " ** "))) ; Fatal error, display it
)
(princ)
)
(if (ssget "_:L"
'((0 . "MTEXT")
(1 . "*,*.*")
(-4 . "<NOT")
(1 . "*-##.*")
(-4 . "NOT>")
)
)
(progn
(vla-startundomark
(setq acDoc (vla-get-activedocument (vlax-get-acad-object)))
)
(vlax-for x (vla-get-activeselectionset acDoc)
(vla-put-textstring
x
(strcat (substr (setq s (vla-get-textstring x))
1
(setq i (- (vl-string-search "." s) 2))
)
"-"
(substr s (1+ i))
)
)
)
)
)
(*error* nil)
)