乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 187|回复: 9

清除CAD多行文字所有格式-(VBA)

[复制链接]

34

主题

223

帖子

17

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
352
发表于 2018-12-13 15:11:00 | 显示全部楼层 |阅读模式
  1. Private Sub SelectAllText(ByVal App As Object, objSset As Object, Optional ByVal strSsetname As String = "SELECTION~TEXT~1111")
  2.     On Error GoTo err1
  3.     Dim flag As Boolean
  4.     flag = False
  5.     For Each objSset In App.SelectionSets
  6.         If objSset.Name = strSsetname Then
  7.             flag = True
  8.             Exit For
  9.         End If
  10.     Next
  11.     If flag Then objSset.Delete      '创建集合,如集存在,则删除,再新建
  12.     Set objSset = App.SelectionSets.Add(strSsetname)
  13.     Dim gpCode(0) As Integer
  14.     Dim dataValue(0) As Variant
  15.     gpCode(0) = 0
  16.     dataValue(0) = "text,mtext"
  17.     Dim groupCode As Variant, dataCode As Variant
  18.     groupCode = gpCode
  19.     dataCode = dataValue
  20.     objSset.SelectOnScreen groupCode, dataCode
  21.     Exit Sub
  22. err1:
  23.     Debug.Print Err.Description
  24.     Err.Clear
  25. End Sub
  26. Sub TT()
  27.     Dim tstr As String, objSset As Object, objtrans As Object, reg As RegExp, objEntArr As New Collection, i As Integer, j As Integer
  28.     Set Acdoc = AcadApplication.ActiveDocument
  29.     SelectAllText Acdoc, objSset
  30.     Set reg = CreateObject("Vbscript.RegExp")
  31.     For i = 0 To objSset.Count - 1
  32.         tstr = objSset.Item(i).TextString
  33.         Debug.Print tstr
  34.         reg.IgnoreCase = False
  35.         reg.Global = True
  36.         '替换\\字符
  37.         reg.Pattern = "\\"
  38.         tstr = reg.Replace(tstr, Chr(1))
  39.         '替换\{字符
  40.         reg.Pattern = "\\{"
  41.         tstr = reg.Replace(tstr, Chr(2))
  42.         '替换\}字符
  43.         reg.Pattern = "\\}"
  44.         tstr = reg.Replace(tstr, Chr(3))
  45.         '删除段落缩进格式
  46.         reg.Pattern = "\\pi(.[^;]*);"
  47.         tstr = reg.Replace(tstr, "")
  48.         '删除制表符格式
  49.         reg.Pattern = "\\pt(.[^;]*);"
  50.         tstr = reg.Replace(tstr, "")
  51.         '删除堆迭格式
  52.         reg.Pattern = "\\S(.[^;]*)(\^|#|\\)(.[^;]*);"
  53.         tstr = reg.Replace(tstr, "")
  54.         '删除字体、颜色、字高、字距、倾斜、字宽、对齐格式
  55.         reg.Pattern = "(\\F|\\f|\\C|\\H|\\T|\\Q|\\W|\\A)(.[^;]*);"
  56.         tstr = reg.Replace(tstr, "")
  57.         '删除下划线、删除线格式
  58.         reg.Pattern = "(\\L|\\O|\\l|\\o)"
  59.         tstr = reg.Replace(tstr, "")
  60.         '删除不间断空格格式
  61.         reg.Pattern = "\\~"
  62.         tstr = reg.Replace(tstr, "")
  63.         '删除
  64. 符格式
  65.         '.Pattern = "\\P"
  66.         '.Replace tstr, "\r\n"
  67.         '删除{}
  68.         reg.Pattern = "({|})"
  69.         tstr = reg.Replace(tstr, "")
  70.         '替换回\\,\{,\}字符
  71.         reg.Pattern = "\x01"
  72.         tstr = reg.Replace(tstr, "")
  73.         reg.Pattern = "\x01"
  74.         tstr = reg.Replace(tstr, "{")
  75.         reg.Pattern = "\x01"
  76.         tstr = reg.Replace(tstr, "}")
  77.     Next i
  78.     Debug.Print tstr
  79. End Sub

回复

使用道具 举报

34

主题

223

帖子

17

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
352
发表于 2018-12-14 09:15:00 | 显示全部楼层

我在论坛搜了,用了还是出现错误
回复

使用道具 举报

85

主题

1175

帖子

11

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1518
发表于 2018-12-14 09:11:00 | 显示全部楼层

清理格式符号那段的确很像以前网上发布的代码,值得一提的是,那段代码有一处错误,我修正了。
回复

使用道具 举报

34

主题

223

帖子

17

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
352
发表于 2018-12-14 09:18:00 | 显示全部楼层

论坛里面确实有一个,但是有错误,我就把我之前收集的发上来了!
回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2018-12-13 17:40:00 | 显示全部楼层
看着太熟悉了。。。
回复

使用道具 举报

34

主题

223

帖子

17

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
352
发表于 2018-12-14 08:10:00 | 显示全部楼层

难道版主以前写过???
回复

使用道具 举报

0

主题

3

帖子

3

银币

初来乍到

Rank: 1

铜币
3
发表于 2020-8-4 18:36:00 | 显示全部楼层
多谢楼主分享源码
回复

使用道具 举报

MTC

3

主题

12

帖子

3

银币

初来乍到

Rank: 1

铜币
24
发表于 2021-6-4 16:48:00 | 显示全部楼层
这个源码应该是一本书上的,前几天看到过
回复

使用道具 举报

91

主题

392

帖子

13

银币

中流砥柱

Rank: 25

铜币
753
发表于 2021-11-13 15:45:00 | 显示全部楼层
群主你们说的错误修改好了吗
回复

使用道具 举报

91

主题

392

帖子

13

银币

中流砥柱

Rank: 25

铜币
753
发表于 2021-11-14 15:43:00 | 显示全部楼层
这个怎么编程dvb程序
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 08:45 , Processed in 0.179173 second(s), 72 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表