明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 448|回复: 5

[基础] 请问是否可以设置多行文字编辑时无字符格式粘贴文本的快捷键

[复制链接]
发表于 2024-2-5 07:21 | 显示全部楼层 |阅读模式
本帖最后由 David_Webb 于 2024-2-5 07:23 编辑

每次从别的程序复制文本到CAD多行文字时,不想带入文本格式,就需要点击右键,然后在弹出菜单中选择“选择性粘贴”-“无字符格式粘贴”,操作非常烦琐,有没有大佬能通过设置或编程,实现一个快捷键比如说“Ctrl +Alt +V”或其它快捷键,直接无字符格式粘贴,提前感谢!
发表于 2024-2-5 08:55 | 显示全部楼层
;60.提取多行文字,去除无用格式符号--来自明经
(defun QYD:mtext2text(MTextString / regex s)
        (setq regex(vlax-create-object "Vbscript.RegExp")) ;引用正则表达式控件
        (vlax-put-property regex "IgnoreCase" 0) ;不忽略大小写
        (vlax-put-property regex "Global" 1) ;匹配方式,全文字匹配
        (setq s MTextString)
         ;替换\\字符
        (vlax-put-property regex "Pattern" "\\\\\\\\")
        (setq s(vlax-invoke-method  regex "Replace" s (chr 1)))
         ;替换\{字符
        (vlax-put-property regex "Pattern" "\\\\{")
        (setq s(vlax-invoke-method  regex "Replace" s (chr 2)))
         ;替换\}字符
        (vlax-put-property regex "Pattern" "\\\\}")
        (setq s(vlax-invoke-method  regex "Replace" s (chr 3)))
         ;删除段落缩进格式
        (vlax-put-property regex "Pattern" "\\\\pi(.[^;]*);")
        (setq s(vlax-invoke-method  regex "Replace" s ""))
         ;删除制表符格式
        (vlax-put-property regex "Pattern" "\\\\pt(.[^;]*);")
        (setq s(vlax-invoke-method  regex "Replace" s ""))
         ;删除堆迭格式
        (vlax-put-property regex "Pattern" "\\\\S(.[^;]*)(\\^|#|\\\\)(.[^;]*);")
        (setq s(vlax-invoke-method  regex "Replace" s ""))
         ;删除字体、颜色、字高、字距、倾斜、字宽、对齐格式
        (vlax-put-property regex "Pattern" "(\\\\F|\\\\f|\\\\C|\\\\H|\\\\\T|\\\\Q|\\\\W|\\\\A)(.[^;]*);")
        (setq s(vlax-invoke-method  regex "Replace" s ""))
         ;删除下划线、删除线格式
        (vlax-put-property regex "Pattern" "(\\\\L|\\\\O|\\\\l|\\\\o)")
        (setq s(vlax-invoke-method  regex "Replace" s ""))
         ;删除不间断空格格式
        (vlax-put-property regex "Pattern" "\\\\~")
        (setq s(vlax-invoke-method  regex "Replace" s ""))
         ;删除换行符格式
        (vlax-put-property regex "Pattern" "\\\\P")
        (setq s(vlax-invoke-method  regex "Replace" s ""))
         ;删除换行符格式(针对Shift+Enter格式)
        (vlax-put-property regex "Pattern" "\n")
        (setq s(vlax-invoke-method  regex "Replace" s ""))
         ;删除{}
        (vlax-put-property regex "Pattern" "({|})")
        (setq s(vlax-invoke-method  regex "Replace" s ""))
         
         ;替换回\\,\{,\}字符
        (vlax-put-property regex "Pattern" "\\x01")
        (setq s(vlax-invoke-method  regex "Replace" s "\\"))
        (vlax-put-property regex "Pattern" "\\x02")
        (setq s(vlax-invoke-method  regex "Replace" s "{"))
        (vlax-put-property regex "Pattern" "\\x03")
        (setq s(vlax-invoke-method  regex "Replace" s "}"))
         
        (vlax-release-object regex)
        s
)

发表于 2024-2-5 09:01 | 显示全部楼层
这有一个成品的。看看是不是你想要的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2024-2-5 09:20 | 显示全部楼层
sniper1111 发表于 2024-2-5 09:01
这有一个成品的。看看是不是你想要的

感谢分享,大神能不能按楼主的要求帮忙改一下呢?

点评

哈哈,一切都是钱的问题  发表于 2024-2-6 22:42
不能,因为你明经币太少了  发表于 2024-2-5 10:32
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-15 05:37 , Processed in 0.241700 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表