|
3#
发表于 2008-6-23 20:49:31
|
只看该作者
来自: 中国辽宁本溪
使用VBA的解决方案
编程要点
8 a. ~1 f% \( R
+ b& K1 `4 p) c5 \6 I1、插入用户窗体,在窗体上放置公共对话框(CommonDialog控件),并设置其属性Filter = "*.dwg|*.dwg"以过滤文件类型;Flags = 512以一次获得多个文件路径;
* z+ V" Y* E( o% D1 ?* C& l6 c3 N' W2、用Documents对象的Open方法逐个打开要修改的文档;
, d- F7 D4 y7 `- Z) g3、遍历文档(Document对象)的所有图元,用ObjectName属性(="AcDbBlockReference")寻找符合给定条件的“块参照”(AcadBlockReference对象);# ], S) p) ?. q% y
4、用“块参照”的GetAttributes方法获得该“块参照”的属性集;
* [( U# m# [4 j; J5、用属性对象的标记(TagString)查找符合给定条件的属性;
8 i7 C- t3 _/ T" { E6、修改属性对象的TextString为新值;
' k; ?7 r% {+ r( ]1 ^) i3 H7、用文档的ReadOnly属性判断文档是否用只读方式打开,对只读文档用SaveAs方法保存;其它用Save方法保存;8 x+ T( B' k4 I5 n O6 F
8、用Close方法关闭文档;
" L- I5 t* k2 v# ?" h" w* L5 w5 o3 a% B: s9 z
PLXG.rar
(14.69 KB, 下载次数: 123)
6 P7 z. ?4 e% v
* I7 C. B/ w$ T附件是用上述方法编制的程序,可以打开同一目录下的多个DWG文档,修改指定的块参照的指定的属性值,保存修改结果并以文本文件记录被修改的文件、被修改的内容等。
8 n% l+ f( ?2 P+ ]
! r8 n5 [7 L/ u; t# j
6 M `9 [2 R4 E; H$ e0 {4 l
( {1 @# R W$ z; X( y; l( x* ~+ |图1为用户窗口,其中属性值可以是多行文本。点击“浏览”按钮后会弹出“打开文件”对话框如图2
: q6 i' X, R9 Y: y1 Z# J' D" u) y1 N4 Y$ {3 z7 B5 {0 x
) E c) p! ?, U3 g" R" A2 c5 V7 g
$ d/ r+ r* N# N' G' Q' h8 }) ?
在“打开”对话框可以在同一目录下选择多个文档;8 Y, ]" K6 v3 J; B9 ^0 g
在用户窗口点击“开始修改”按钮,所有含有符合给定条件的块参照的文档都将被修改并保存。
6 j. M: ?3 Y7 L3 c! {4 c选中用户窗口的“创建日志”复选框,程序会在文档目录下创建一个文本文档,记录修改信息。# h) v2 M- E; d3 d+ T
本程序仅供参考。 |
评分
-
查看全部评分
|