基于VBA技术实现AutoCAD与Excel的数据交换 好_第1页
基于VBA技术实现AutoCAD与Excel的数据交换 好_第2页
基于VBA技术实现AutoCAD与Excel的数据交换 好_第3页
基于VBA技术实现AutoCAD与Excel的数据交换 好_第4页
基于VBA技术实现AutoCAD与Excel的数据交换 好_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、S OUT HW EST WATER &WASTE WATER 西南给排水Vol . 28No . 32006基于VBA 技术实现Aut oC AD 与Excel 的数据交换史义雄摘要针对给排水工程设计中绘制设备材料表图纸重复、费时的问题, 利用Aut oCAD VBA 语言编写绘图程序, 可将Excel (3. lxs 格式的表格导入Aut oCAD 中, 实现Aut oCAD 与Excel 的数据交换。结合工程实践, 验证了程序的可行性。关键词Aut oCAD Excel 数据交换VBA 0引言Excel 支持ActiveX Aut omati on 接口, 用户可以目前, 在给排水工程设

2、计中, 设计部门大多采用Aut oCAD 辅助设计, 采用Excel 统计主要设备材料, 再将设备材料表绘制成Aut oCAD (3. d wg 格式的图纸, 以便装订成册。在Aut oCAD 环境下绘制设备材料表是一项重复性的工作Excel Aut oXlsTable 等, 。利用Aut oCAD , 编写绘图程序, 可将Ex 2cel (3. lxs 格式的表格导入Aut oCAD 中, 实现Aut o 2CAD 与Excel 的数据交换, 自动生成Aut oCAD (3. d wg 格式的设备材料表。1Aut oCAD VBA 语言接口Aut oCAD 是Aut oDesk 公司开发的工

3、程绘图软通过其内嵌的VBA 语言控制其整个操作过程3, 4。最常用的对象有以下4个, 各对象之间的结构模型1 :件, 自R14版以后, 提供了VBA 语言接口, 采用Ac 2tiveX Aut omati on 技术, 大大地提高了系统二次开发1, 2的高效性、健壮性和易维护性。VBA 就是V isual Basic f or App licati on 的简称, 它不仅可以执行并存取Aut oCAD 环境的所有资源, 还可以整合其他具有VBA 能力的应用程序。VBA 通过ActiveX Aut o mati on 接口把信息传送给Aut oCAD, 而Aut oCAD VBA 也允许VBA

4、环境与Aut oCAD 同时执行并通过ActiveX Aut omati on 接口提供Aut oCAD 的程序。由于Aut oCAD 、ActiveX Aut omati on 与VBA 的结合方式提供了功能强大的接口, 不仅可以操作Aut oCAD 的内部对象件, 更可以在其他的应用程序之间传送或接受数据(如MS Excel 和Word 等 , 实现与其他数据的共享。2Aut oCAD 与Excel 的数据交换2. 1Excel ActiveX 对象模型图1Excel ActiveX 对象结构模型(1 App licati on 对象。App licati on 是Excel 的最顶层对象

5、, 是VBA 应用程序的运行环境, 其他对象均为它的子对象。(2 Workbooks (Workbook 对象。一个Work 2book 对象实际上就是一个Excel 文件, Excel 程序可以同时打开或创建多个文件, 它们被保存在Work 2books 集合对象中, 可以通过索引号或名称访问。(3 Worksheets (Worksheet 对象。一个Work 2sheet 对象对应于一个工作表,Worksheet 对象的集合为Worksheets 对象。用户在读写数据之前, 必须通过索引号或名称激活对应的工作表, 使之成为当前工作表。(4 Range 对象。Range 对象用来指定工作表

6、上的区域, 可以是一个或多个单元格。2. 2Aut oCAD 中读取Excel 数据Aut oCAD 与Excel 的数据交换, 需要加载Excel ActiveX 对象模型。首先, 按A lt +F11组合键, 打开Aut oCAD 的VBA 编辑器; 然后在VBA 编辑器窗口中选择“工具”菜单的“引用”, 选择加载“M icr os oft Ex 2S OUT HW EST WATER &WASTE WATER 西南给排水Vol . 28No . 32006cel 9. 0Object L ibrary ”项(Excel2000版本 。inserti onPoint (2 =0Set li

7、ne Obj =This D ra wing . ModelSpace . AddL ine(startPoint, endPoint textString = 主要设备材料表 height =5Set text O bj =This D ra wing . ModelSpace . AddText (textString, inserti onPoint, height ZoomA ll读取Excel 工作表中数据, 首先要打开工作簿, 然后访问指定工作表。使用下列代码可以实现对“设备材料表. xls ”的访问:D i m xl A pp A s Excel . App licati onD

8、 i m xl B ook A s Excel . Workbook D i m xlsheet A s Excel . Worksheet D i m str D ir A s Stringstr D ir =D:供水管网工程设备材料表. xls Set xl A pp =Create Object ( Excel . App licati on xl A pp. V isible =TrueSet xl B ook =xl A pp. Workbooks . Open (str D ir Set xlsheet =xl B ook . Worksheets (1 xlsheet . Act

9、ivate绘制过程中, 用户还可以根据需要编写相关代码, 设置文字样式、对齐格式、文字及线条颜色等相关属性。3工程实例上述代码中字符串变量str D ir 为Excel 文档的绝对路径。Excel i 行第j :var Cell =(i, j 通过对Excel 单元格的循环遍历, 实现对全部数据的读取。2. 3Aut oCAD 中绘制图形实体读取Excel 表格中的数据后, 可以在Aut oCAD 模型空间中绘制出相应的图形实体。绘制设备材料表只有文字和直线两种图形数据, 结构比较单一。下面的代码在模型空间中绘制一条直线和一行文(100, 0, 字。直线的起点、终点坐标分别为(0, 0, 0

10、、0 。文字内容为“主要设备材料表”, 插入文字点的坐标为(30, 5, 0 , 文字高度为5。D i m line Obj A s AcadL ineD i m text O bj A s AcadText D i m textString A s String D i m height A s DoubleD i m startPoint (0To 2 A s Double D i m endPoint (0T o 2 A s DoubleD i m inserti onPoint (0T o 2 A s DoublestartPoint (0 =0#:startPoint (1 =0#:

11、start 2Point (2 =0#endPoint (0 =100#:endPoint (1 =0#:end 2Point (2 =0#inserti onPoint (0 =30:inserti onPoint (1 =5:在某工业园区供水管网一期工程的设计中, 管网总长近7800m , 管材有PE 管、焊接钢管、无缝钢管, , 且工程设计由由专人用Excel 汇总后, 再用绘制成图, 费时费力。设备材料表有通用的表头, 一般分为“序号”、“名称”、“规格”、“单位”、“数量”和“备注”六项, 各栏的宽度、文字高度、文字样式可沿用以前的图纸。先打开其他工程的设备材料表图纸, 将设备材料细

12、目删除, 只留下表头作为模板, 并以表的左上角为基准点, 将表移动到原点(0, 0, 0 , 方便绘图的定位, 保存为“设备材料表. d wg ”。在Aut oC AD 的V isual Basic 编辑器窗口中, 插入一个用户窗体, 设置其“Cap ti on ”属性为“主要设备材料统计”, 在窗体中添加一个Co mmand Butt on 控件, 设置其“Cap ti on ”和“Na me ”属性分别为“Excel 导入C AD ”和“c mdExcelT oCAD ”, 添加一个Co mmon D ial og 控件, 设置其“Na me ”属性为“cdgExcelT oC AD ”。

13、选择“Excel 导入C AD ”按钮的Click 事件, 编写绘图程序。Private Sub c mdExcelToCAD_Click( cdgExcelT oCAD. Filter = Excel File (3. xls |3. xlscdgExcelT oCAD. CancelErr or =True cdgExcelT oCAD. ShowOpen For i =1T o cnt Row For j =1T o 6textString =xlsheet . Cells (i, j S OUT HW EST WATER &WASTE WATER 西南给排水Vol . 28No . 3

14、2006height =4设置文字字高为4Set text O bj =This D rawing . ModelSpace . AddText (textString, inserti onPoint, height text O bj . A lign ment =ac A lign ment B ott omCentertext O bj . Text A lign mentPoint =inserti onPoint图纸以其他文件名另存或保存在其他文件夹下。此外, 由于图幅宽度的限制, 自动生成的表的高度可能比图纸宽度大, 用户根据需要作相应调整, 添加图框修改图签, 绘成成果图。4结

15、语在给排水工程设计中, 采用Excel 统计完设备材料后, 再将设备材料表绘制成Aut oCAD (3. d wg 格式的图纸, 是一项重复性的工作, 费时费力。利用Aut oCAD VBA 编写绘图程序, 实现Excel 数据导入到Aut oCAD 中, 自动生成Aut oCAD (3. dwg 格式的设备材料表。该程序有较强的通用性, 可以应用到其他给排水工程设计中, 提高设计效率。参考文献1李长勋. Aut oCAD VBA 程序的开发技术M.北京:国防工业出设置文字对正样式为中下text O bj . A lign ment =ac A lign ment B ott omCenter

16、 文字样式为HZT XT text O bj . Style Na me = HZT XT Next j Next iThis D ra wing . Regen ac Active V ie wport Z oomA llEnd Sub版社, 2000.2. Aut M.北京:清华大. 程序设计实务M.北京:中国铁在V isual Basic 编辑器窗口中按下F5键, 程序, 即可返回到Aut oCAD , “”按钮, 出现“打开”Ex 2cel 文件并打开, 可迅速将Excel 数据导入到Aut o 2CAD 中。为方便其他工程的使用, 用户不宜改动“设4王鸿儒. Excel VBA 程序

17、设计M.北京:中国铁道出版社, 2004.作者通讯处:430063武汉市杨园和平大道745#铁道第四勘察设计院环工处航察楼606室电话材料表. d wg ”原件, 将导入Excel 数据的Aut oCAD信息南京林大生物改性竹炭处理污水通过鉴定入污水中。污水在通过这种经过生物改性的竹炭时, 各种微生物协同作用, 将污染物分解成二氧化碳和水及无害物质, 使水质得到净化。经国家林业局和南京市科技局立项, 从2005年4月起, 南京林业大学与南京恒澜科技公司协作, 在校内污染最严重的紫湖溪2号河段进行了生物改性竹炭污水处理示范实验, 示范项目建成近9个月来, 出水指标全部

18、达到国家排放标准。(摘自2006年3月4日“中国建设报”不用建污水处理厂, 只需在排污河道置入一定量的生物改性竹炭, 即可实现对城镇污水的有效处理。由中国工程院院士、南京林业大学教授张齐生主持完成的“生物改性竹炭对城市河道污水处理示范项目”近日通过国家林业局科技司组织的专家鉴定。竹子具有特殊的微孔构造, 炭化后吸附能力很强, 是极好的吸附材料和生物、微生物载体。由张齐生院士领军研制的生物改性竹炭处理污水技术, 就是用在700摄氏度高温时得到的竹炭作为微生物载体, 将吸附有数十种微生物菌群的竹炭置美国科学家发现淡化海水突破性新技术据brightsurf 网站报道, 美国新泽西理工学院薄膜分离技术领域的一位化学工程师兼杰出教授研发出一种突破性的海水淡化的方法, 利用这种海水淡化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论