文档介绍:2
第 19 卷第 2 期华东交通大学学报 Vol. 19 No. 2
2002 年 6 月 Journal of East China Jiaotong University Jun. 2002
2
文章编号:1005 - 0523(2002) 02 - 0009 - 03
用 VBA 建立 AutoCAD 与 Excel 之间的数据通信
涂晓斌1 , 蒋先刚1 , 张馨2
(1. 华东交通大学基础科学学院,江西南昌 330013 ;2. 铁道部株洲电机厂,湖南株州 412001)
摘要:介绍了 AutoCAD 与 Excel 之间的通信机制. 基于 OLE 自动化技术,利用 VBA 在 AutoCAD 中创建应用程序. 该程序可遍历
当前图形中的所有实体要素,并从中选取有用的信息进行分类汇总,并利用 Excel 制作设备材料报表.
关键词:AutoCAD ;VBA ;Excel ;数据通信
中图分类号:TP391. 72 文献标识码:A
plication - > WorkBook (工作簿) - > WorkSheet (工作
0 引言表) - > Cell (单元格) . 一个 WorkBook 对象实际上就
是一个 Excel 文件, Excel 应用程序可以同时打开或
AutoCAD 软件已被广泛应用于设计绘图,但在创建多个文件,它们被保存在 WorkBooks 集合对象
具体的工程设计中,会做许多重复的工作. 例如,某中,可以通过索引号或名称访问集合中的任何一个
企业新建了办公楼,需要分割办公区域、设置隔断、工作簿,如下语句所示:
布置办公家具和设备等,绘制图纸后,设计人员要′激活第 1 个工作簿为当前工作簿
将图纸上的各种办公家具和设备等数一遍,再填写 Workbooks(1) . Active
设备材料报表. 图纸送到概预算人员手中后,概预′激活 MyBook. xls 工作簿为当前工作簿.
算人员又要将这些数据重新输入到相应的统计软 Workbooks(”MyBook. xls”) . Active
件中,然后根据每种设备的单价统计出设备的总每个工作簿对象上可以有多个工作表,在默认
价. 若变更了设计图纸,又须重新制作设备材料报情况下,Excel 的当前工作簿上有名为 Sheet1 、Sheet2
表和更改概预算. 这种枯燥且相互关联又容易出错和 Sheet3 三个工作表,并且 Sheet1 为当前工作表. 设
的工作应该由计算机自动完成才对. 文本通过建立 ExcelApp 是已创建的 Excel 应用程序,要使 Sheet2 成
AutoCAD 与 Excel 之间的数据通信,在 AutoCAD 中直为当前工作表,可用下列语句:
接调用 Excel 对图中的实体要素进行分类汇总,制 ExcelApp. WorkSheets(”Sheet2”) . Active
作设备材料报表. Range 对象用来指定工作表上的区域,Sort 方法
用来对工作表上指定的区域进行排序. 如对工作表
1 VBA 应用程序与 Excel 之间的通信机制“Sheet1”上的单元格“A1”当前区域按第一列中的数
据进行排序,可用以下代码:
要控制 Excel