明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1872|回复: 5

[源码] 读取多行文字时,怎样去掉多行文字所设的格式

[复制链接]
发表于 2016-6-5 00:14 | 显示全部楼层 |阅读模式
我在读取多行文字放到 EXECL时,多行文字带有设置的格式,怎样才能去掉
发表于 2016-6-5 08:51 | 显示全部楼层
最黄最暴力的方法 炸掉
 楼主| 发表于 2016-6-5 12:14 | 显示全部楼层
呵呵…………
发表于 2016-6-5 12:40 来自手机 | 显示全部楼层
love1030312 发表于 2016-6-5 08:51
最黄最暴力的方法 炸掉

此法不可靠,爆破时会产生多个text。找到多行文字格式,去掉它
发表于 2016-6-6 19:22 | 显示全部楼层
本帖最后由 ㄘ丶转裑ㄧ灬 于 2016-6-6 19:44 编辑

阿甘更新的文字刷3.0里有提取多行文字,去除格式符号
源代码应该是Gu_xl写的,在他的转EXCEL里有看到过。。

http://bbs.mjtd.com/thread-96376-1-1.html

找到了:
http://bbs.xdcad.net/thread-669239-1-1.html

  1. ;提取多行文字,去除无用格式符号--来自明经
  2. (defun mtext2text(MTextString / regex s)
  3.   (setq regex(vlax-create-object "Vbscript.RegExp")) ;引用正则表达式控件
  4.   (vlax-put-property regex "IgnoreCase" 0) ;不忽略大小写
  5.   (vlax-put-property regex "Global" 1) ;匹配方式,全文字匹配
  6.   (setq s MTextString)
  7.      ;替换\\字符
  8.   (vlax-put-property regex "Pattern" "\\\\\\\\")
  9.   (setq s(vlax-invoke-method  regex "Replace" s (chr 1)))
  10.      ;替换\{字符
  11.   (vlax-put-property regex "Pattern" "\\\\{")
  12.   (setq s(vlax-invoke-method  regex "Replace" s (chr 2)))
  13.      ;替换\}字符
  14.   (vlax-put-property regex "Pattern" "\\\\}")
  15.   (setq s(vlax-invoke-method  regex "Replace" s (chr 3)))
  16.      ;删除段落缩进格式
  17.   (vlax-put-property regex "Pattern" "\\\\pi(.[^;]*);")
  18.   (setq s(vlax-invoke-method  regex "Replace" s ""))
  19.      ;删除制表符格式
  20.   (vlax-put-property regex "Pattern" "\\\\pt(.[^;]*);")
  21.   (setq s(vlax-invoke-method  regex "Replace" s ""))
  22.      ;删除堆迭格式
  23.   (vlax-put-property regex "Pattern" "\\\\S(.[^;]*)(\\^|#|\\\\)(.[^;]*);")
  24.   (setq s(vlax-invoke-method  regex "Replace" s ""))
  25.      ;删除字体、颜色、字高、字距、倾斜、字宽、对齐格式
  26.   (vlax-put-property regex "Pattern" "(\\\\F|\\\\f|\\\\C|\\\\H|\\\\\T|\\\\Q|\\\\W|\\\\A)(.[^;]*);")
  27.   (setq s(vlax-invoke-method  regex "Replace" s ""))
  28.      ;删除下划线、删除线格式
  29.   (vlax-put-property regex "Pattern" "(\\\\L|\\\\O|\\\\l|\\\\o)")
  30.   (setq s(vlax-invoke-method  regex "Replace" s ""))
  31.      ;删除不间断空格格式
  32.   (vlax-put-property regex "Pattern" "\\\\~")
  33.   (setq s(vlax-invoke-method  regex "Replace" s ""))
  34.      ;删除换行符格式
  35.   (vlax-put-property regex "Pattern" "\\\\P")
  36.   (setq s(vlax-invoke-method  regex "Replace" s ""))
  37.      ;删除换行符格式(针对Shift+Enter格式)
  38.   (vlax-put-property regex "Pattern" "\n")
  39.   (setq s(vlax-invoke-method  regex "Replace" s ""))
  40.      ;删除{}
  41.   (vlax-put-property regex "Pattern" "({|})")
  42.   (setq s(vlax-invoke-method  regex "Replace" s ""))
  43.      
  44.      ;替换回\\,\{,\}字符
  45.   (vlax-put-property regex "Pattern" "\\x01")
  46.   (setq s(vlax-invoke-method  regex "Replace" s "\\"))
  47.   (vlax-put-property regex "Pattern" "\\x02")
  48.   (setq s(vlax-invoke-method  regex "Replace" s "{"))
  49.   (vlax-put-property regex "Pattern" "\\x03")
  50.   (setq s(vlax-invoke-method  regex "Replace" s "}"))
  51.      
  52.   (vlax-release-object regex)
  53.   s
  54. )
发表于 2016-6-6 20:13 来自手机 | 显示全部楼层
ㄘ丶转裑ㄧ灬 发表于 2016-6-6 19:22
阿甘更新的文字刷3.0里有提取多行文字,去除格式符号
源代码应该是Gu_xl写的,在他的转EXCEL里有看到过。。 ...

粗看了一下,好像没包括完。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 15:06 , Processed in 0.808578 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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