找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2381|回复: 6

[求助] [求助]:求高人编写个一个小Lisp

[复制链接]
发表于 2009-7-21 17:05:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
缘由:Autocad2006以后就自带表格,且表格可以直接链接excel数据,但是链接excel数据后,表格中的字体也链接进去了,比如说,excel中设定表格的字体为宋体,那么不管cad中将表格样式设定什么,也不管单元格样式是什么,链接过来的所有单元格都保持与excel单元格字体一样,而且cad自己没有办法一次修改所有单元格的字体,只能点进去,一次一次的修改,非常恼人。
由于自己对lisp程序不熟,所以在这儿请高人写个lisp,帮忙解决这个问题,非常感谢!本人用cad2008,2010
下面是我自己的一点思路:

第一步:
检索表格的所有对象属性,并且显示出来,这样可以看到在cad单元格中,单元格的内容并不是只有文字内容,还包括文字格式内容。
举个例子,下面是我自己试着检索的表格属性中其中一个:
(1 . "{\\f仿宋_GB2312|b0|i0|c134;\\H0.6667x;数量")
可以很清楚的看到,我单元格本来应该就只有“数量”二字,结果,单元格还包含一些文字格式的内容。

第二步:由用户输入需要替换的字符和替换后的新内容。
对于上面的例子,被替换的内容就是“{\\f仿宋_GB2312|b0|i0|c134;\\H0.6667x;”,替换后的新内容应该就是空字符,或者说应该删掉上面的内容。

第三步:遍历对象属性,替换所有需要替换(或者删除)的内容。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1304个

财富等级: 财源广进

发表于 2009-7-22 10:19:55 | 显示全部楼层
期待中
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-25 08:54:21 | 显示全部楼层
吼一声,难道没人会么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2009-7-26 01:04:52 | 显示全部楼层
最初由 specterer 发布
[B]吼一声,难道没人会么? [/B]


口气不小。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-7-27 22:17:36 | 显示全部楼层
这个需要正则表达式。很烦人的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2009-8-2 17:38:13 | 显示全部楼层
至多重建一个表格
只把数据写过去
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-6 16:21:53 | 显示全部楼层
看来真是求人不如求己:
自己花了2天时间,稍微学习了一下.net的cad二次开发,终于写出来这个.net的程序,至少可以用了。
程序其实很简单,根本不需要什么正则,就是很简单的字符串替换而已,我把程序附在后面,如果有需要的同志可以试一下。
该程序提供两个命令:TBS和TBE
其中TBS显示表格的实际内容,运行命令后可以看到,在CAD表格中,实际内容并非显示内容,还包括很多格式控制字符,如{\\f仿宋_GB2312|b0|i0|c134;\\H0.6667x;
TBE为表格内容替换内容,运行命令,选择表格,输入被替换内容(如{\\f仿宋_GB2312|b0|i0|c134;\\H0.6667x),输入替换后的内容(如为空,则直接回车)。则表格中的格式控制字符串都被替换了。记得在运行TBE前先将表格解锁,不然不可以修改的。
在运行TBE之后,也可以将表格中内容在写回excel,这样,EXCel中也应该不含格式控制符了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-23 22:57 , Processed in 0.434022 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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