I have 2 things I'm trying to accomplish here. I need to find the the exact text to replace and only in the current layout. For example. Let's say I need to find "Date" but on the same layout I have "date", "Date" and "Date:". So it needs to be case sensitive also. I was using this but it's not case sensitive and also replaces "date" and "Date:" in all layouts. I just need "Date" in the current layout.
;Find And Replace
(defun C:FAR ()
(setq OldTxt (getstring T "\nEnter the old text: ")
NewTxt (getstring T "\nEnter the new text: "))
(setq ss (ssget "x" '((0 . "TEXT,MTEXT"))))
(setq i (sslength ss))
(while (not (minusp (setq i (1- i))))
(setq oText (vlax-ename->vla-object (ssname ss i)))
(setq Txt (vlax-get-property oText 'TextString))
(if (vl-string-search OldTxt txt)
(progn
(setq newChg (vl-string-subst NewTxt OldTxt txt))
(vlax-put-property oText 'TextString newchg)
(vlax-invoke-method oText 'Update)
)
)
)
(princ)
)