Ronjons method works very well if all the text is the same type, mtext, dtext or whatever - otherwise, just need to select the type at the top of the properties dialogue and do it twice. A lot quicker than writing, debugging, and checking a LISP
Not sure what is faster to use, since you are selecting the texts and writing in what it is to be, not a lot in it with using a LISP or doing it via properties, think properties method wins.
below is my option, also works on Dimensions (and maybe tables but they annoy me so I try not to use them). A bit longer than the others, it is made up from building blocks of my text LISPS... so long winded for this but elsewhere does other stuff. Command txtchange. There is a second defun textchange (without the C:), if you call that from another LISP you can get that LISP to work out the text to use and then update the selected text (for example, 'today', my LISP uses this to put todays date into that text string
(defun getent ( aprompt / enta entb pt )
(princ "\n")
(setq enta (car (nentsel aprompt)))
(setq pt (cdr (assoc 10 (entget enta))) )
(setq entb (last (last (nentselp pt)))) ;;fix for nenset or entsel requirements
(if (and (/= entb nil) (/= (type entb) 'real) )
(if (wcmatch (cdr (assoc 0 (entget entb))) "ACAD_TABLE,*DIMENSION")(setq enta entb))
)
enta
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun addinnewtext (newtext newentlist newent / )
(if (/= newtext nil)
(progn
(if (= (cdr (assoc 0 newentlist)) "DIMENSION")
(progn
(entmod (setq newentlist (subst (cons 1 newtext) (assoc 1 newentlist) newentlist)))
(entupd newent)
);end progn
(progn
(vla-put-textstring (vlax-ename->vla-object newent) newtext) ;;vla-put-text string for large text blocks + 2000 characters?
);end progn
) ;end if
) ;end progn
(princ "\nSource text is not 'text'")
);end if
)
(defun c:txtchange ( / texta)
(setq texta (getstring t "\nEnter New Text : ") )
(while (setq ent1 (getent "\nSelect Text (or escape): "))
(txtchange texta ent1)
);end while
(princ)
)
(defun txtchange ( texta ent1 / )
(setq entlist1 (entget ent1))
;; (setq entcodes1 (list 3 4 1 172 304) ) ;list of ent codes containing text. Don't think I use this here
;; (if (= (cdr (assoc 0 entlist1)) "DIMENSION") (setq entcodes1 (list 4 1 42 172 304))) ;;if dimension. Don't think I use this here
(addinnewtext texta entlist1 ent1)
(command "redraw")
(command "regen") ;;update it all
)