本帖最后由 lee50310 于 2021-1-26 12:25 编辑
執行前
utyh 258
1 Pli
447-8po
最2548 587 m2
執行後
utyh 258 1 Pli 447-8po 最2548 587 m2
*** 請執行下面的程式 就可以去掉多行文字的換行符號 ***

- ;;----------------------------------------------------------------------------------
- (defun c:tt ()
- (vl-load-com)
- (setq ss (ssget '((0 . "MTEXT"))))
- (repeat (setq i (sslength ss))
- (setq ssn (ssname ss (setq i(1- i)))
- entdat (entget ssn)
- txt (cdr (assoc 1 entdat)) ;取文字內容
- txt2 txt ;保存舊字串
- old_t "\\P" ;換行符號
- new_t " " ;空1格
- )
-
- (while (vl-string-search "\\P" txt) ;判斷是否還有換行符號
- (setq txt(vl-string-subst new_t old_t txt)) ;去掉字串內的換行符號
- )
-
- (setq new_txt( cons 1 txt))
- (setq old_txt( cons 1 txt2))
- (setq entdat (subst new_txt old_txt entdat)) ;更新資料串列
- (entmod entdat) ;更新螢幕上的元體
- )
- (princ)
- )
- ;;----------------------------------------------------------------------------------
|