664571221 发表于 2019-7-18 11:11:16

求大神看下复制针贴 求一个文字功能

比如有文字ABC DExFG,在ABC和DExFG中间有个空格,求输入TT,点取文字ABC DExFG后,把空格前面的ABC复制到粘贴板,以后如果ctrl+v可以直接复制到其他地方
输入TT2,点取文字ABC DExFG,把空格后面的DExFG复制到粘贴板,同时在粘贴板中的   x符号变成   *符号,就是复制出来是DE*FG,原来cad上面的文字不变

ZZXXQQ 发表于 2019-7-18 11:11:17


(defun c:tt ()
(if (and (setq s1 (entsel "\n选择文字"))
      (setq ent (entget (car s1)))
      (= (cdr(assoc 0 ent)) "TEXT")) (progn
(setq txt (cdr(assoc 1 ent)))
(set-clip-string (substr txt 1 (vl-string-position (ascii " ") txt)))
))
(princ)
)
(defun SET-CLIP-STRING (STR / HTML RESULT)
(and (= (type STR) 'STR)
(setq HTML (vlax-create-object "htmlfile"))
(setq RESULT
   (vlax-invoke
    (vlax-get (vlax-get HTML 'PARENTWINDOW) 'CLIPBOARDDATA)
    'SETDATA
    "Text"
    STR
   )
)
(vlax-release-object HTML)
)
)

自贡黄明儒 发表于 2019-7-18 11:18:33

去了解一下正则表达式,拆分文字最容易。

664571221 发表于 2019-7-18 11:23:16

自贡黄明儒 发表于 2019-7-18 11:18
去了解一下正则表达式,拆分文字最容易。

黄大师帮忙搞下:lol:lol:lol:lol

664571221 发表于 2019-7-18 15:25:04

自贡黄明儒 发表于 2019-7-18 11:18
去了解一下正则表达式,拆分文字最容易。

黄大神看看呀啊啊啊啊啊

664571221 发表于 2019-7-18 17:27:25

ZZXXQQ 发表于 2019-7-18 16:26


Z大后半部分怎么弄呀,能否完善一下

1291500406 发表于 2019-7-18 22:03:43

本帖最后由 1291500406 于 2019-7-19 09:30 编辑

664571221 发表于 2019-7-18 17:27
Z大后半部分怎么弄呀,能否完善一下
;;你要的后半部分 by必强
(defun c:bb( / b_clip )(vl-load-com)(vla-getentity (vla-get-utility(vla-get-activedocument(vlax-get-acad-object))) 'obj ' ip "\n必强提示请选择文字")
(setq b_clip(Vlax-Get-Property(Vlax-Get (vlax-create-object "htmlfile")'ParentWindow) 'ClipboardData))(Vlax-Invoke b_clip 'SetData "text"
(vl-string-translate "x" "*" (vl-list->string(cdr(member 32(vl-string->list (Vlax-Get obj 'TextString)))))))(vlax-release-object b_clip)(princ))


664571221 发表于 2019-7-19 08:44:01

1291500406 发表于 2019-7-18 22:03
;;你要的后半部分 by必强
(defun c:bb( / b_clip )(vl-load-com)(vla-getentity (vla-get-utility(vla-g ...

感谢我强哥点赞点赞.
页: [1]
查看完整版本: 求大神看下复制针贴 求一个文字功能