Find & Replace in current layo
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)) Hope that your texts are not Annotative ..
(defun c:test (/ oldTxt NewTxt ss in en) (if (and (not (eq (setq OldTxt (getstring T "\nEnter the old text: ")) "") ) (not (eq (setq NewTxt (getstring T "\nEnter the new text: ")) "") ) ) (if (setq ss (ssget "x" (list '(0 . "TEXT,MTEXT") (cons 1 OldTxt) (cons 410 (getvar 'ctab)) ) ) ) (repeat (setq in (sslength ss)) (setq en (entget (ssname ss (setq in (1- in))))) (entmod (subst (cons 1 Newtxt) (assoc 1 en) en)) ) ) ) (princ)) You Rock!! Thanks!!!
You're welcome .
页:
[1]