利用VBA实现Excel与AutoCAD相结合自动绘制钻孔柱状图

更新时间:2023-06-04 18:18:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信息技术

1 7 3

利用 VB A实现 E x c e l与 Au t o C AD相结合自动绘制钻孔柱状图李海民

(黑龙江龙煤地质勘探有限公司,黑龙江佳木斯 1 5 4 0 0 7 ) 摘要:本文介绍了 V B A开发工具的基本特点,以及通过 V B A编程建立 E x c e l与A u t o C A D的通信,实现钻孔柱状图的自动绘制。 关键词: V B A;A u t o C A D; E x c e l;柱状图地质勘查工作中,钻孔柱状图是工程设计所需的重要图件,是 D i m s t a r t P t 0 ( 2 1 A s D o u b l e 钻孔地下的岩层实际采样的数据在图上的直观反映。由于数据量 h=A c t i v e S h e e t . R a n g e (” A 6 5 5 3 5” ) . E n d ( x l U p ) . R o w。得到 A单元格列大,大量的重复操作相当繁琐,容易出错,效率又低。本文正是基于的最后行数这种情况,介绍如何利用 E x c e l提供的 V B A扩展模块功能,编制程 F o r i= 3 T o h 序实现该过程的自动化。 s t a r t P t ( 0 )= 4 2 . 8 5:s t a r t P t ( 1 )=一 S h e e t 1 . C e l l s 1 1 ) . v a l u e 点 1应用环境介绍坐标 V i s u a l B a s i c f o r A p p l i c a t i o n s ( V B A)是一种 V i s u l a B a s i c的一种 e n d P t ( 0 )= 4 5 . 8: e n d P t ( 1 )=一 S h e e t 1 . C e l l s ( i,1 1 1 . V l a u e 宏语言,主要能用来扩展 Wi n d o w s的应用程式功能,特别是 Mi— S e t L i n e O b j= a c t i v e D o c . Mo d e 1 S p a c e . A d d L i n e( s t a r t P t .e n d P t )- c r o s o f t O f i c e软件。V B A强大的功能为各应用程序的二次开发提供画线了一个优秀的手段,同时也为实现各应用软件间的通信提供了方 N e x t i 便。 3 . 6读取 E x c e l数据进行插入岩性块。 2工作原理 D i m b l k I n s P n t ( 2 )A s D o u b l e’块坐标在 M i c r o s o f t E x e e l中,与表对应的对象是工

作表 S h e e t ( ),与表格 D i m B l k R e f r e n c e A s A e a d B l o c k R e f e r e n c e’块引用对象方格对应的对象是单元格 c e l s( ), c e l l s它是以行 r o w和列 t o n作为’钻探柱状参数的,对于行和列的选择可以采用变量的形式 C e l l s ( n, c )来表示。 F o r n=3 T o h 通过读取 M i c r o s o f t E x c e l文件中的单元格( c e l l s )的主要信息, b l k I n s P n t ( 0 )= e: b l k I n s P n t ( 1 )=一 S h e e t 1 . C e l l s ( n, c ) . V a l u e 利用 V B A建立 E x c e l与A u t o C A D的通信,然后在 A u t o C A D中指定 I f S h e e t 1 . C e l l s ( n, a ) . V l a u e=”细砂岩”T h e n 的位置画线,画线使用 A u t o C A D中的 A d d l i n e方法,文字使用 A u— F o r i=0 T o S h e e t 1 . C e l l s ( n,b ) . V l a u e一 1 t o C A D中的 A d d MT e x t方法。通过循环,遍历所有单元格区域,边读 b l k I n s P n t ( 1 )=i—S h e e t 1 . C e l l s ( n,c ) . V l a u e 边写,最终完成钻孔柱状的绘制。 S e t B l k R e f r e n c e= a c t i v e D o c . Mo d e l S p a c e . I n s e ̄ B l o e k 3实现步骤及主要代码 ( b l k l n s P n t,”细砂岩”,1#,1#,1#, 0 )3 . 1建 E x c e l数据表。 N e x t i

3 . 2在 E x c e l中打开 V B A管理器,进入 V B A集成开发环境。 3 - 3打开 V B A编辑器菜单的“工具\引用”项,弹出对话框,选择“ A u t o C A D 2 0 0 7 T y p e L i b r a r y”项。 3 . 4创建应用程序对象实例:’引用 A u t o C A D O b j e c t L i b r a r y类型库Di m my Ae a d Ap p As Au t o CAD. Ac a d Ap p l i c a t i o nDi m a c t i v e Do c As Au t o CAD. Ac a d Do c ume n

t

E n d I f N e x t n 3 . 7读取 E x c e l数据进行文字书写。 D i m s t a r t P t ( 2 )A s D o u b l e’点坐标 D i m t x t o b j A s A c a d MT e x tDi m my t e x t As S t r i n gDi m my t x t 0 As Au t o CAD. Ac a d Te x t St y l e

D i m a c MS A s A u t o C A D . A c a d M o d e l S p a c e ’过程S u b z k z z 0 On Er r o r Re s u me Ne x t

S e t my t x t O:a c t i v e D o c . T e x t S t y l e s . A d d (” my t x t 0” )’添加文字样式 m y t x t 0 . f o n t F i l e=” e:\ w i n d o w s k f o n t s Mm f a n g . t t Pa c t i v e D o e . Ac t i v e Te x t S t v l e= my t x t 0 my t x t O . L a s t He i g h t= 1 . 2’字高

S e t m y A c a d A p p=G e t O b j e c t(,” A u t o c a d . A p p l i c a t i o n” )’检查 A u t o - s t a r t P t ( 0 )= 2 2 . 2:s t a r t P t ( 1 )= O . 8+ b l k I n s P n t ( 1 )+ 0 . 2’坐标 C A D是否已经打开 my t e x t= S h e e t 1 . C e l l s ( n,8 ) . V lu a e’赋值 f I E r r<>0 T h e n’没有打开 S e t t x t o b j= a c t i v e D o c . M o d e l S p a c e . A d d M T e x t ( s t a r t P t,1 9,m y t e x t ) E r . C l e a r ’岩性描述 S e t m y A c a d A p p=C r e a t e O b j e c t (” A u t o c a d . A p p l i c a t i o n” )’打开 C A D E n d S u b S e t a c t i v e D 0 c= my A c a d A p p . D o c u me n t s . O p e n f ' . E:\柱状快转换 3 . 4结论 d g” ) 本文介绍的程序通过对 E x c e l与 A u t o C AD等软件所提供的内

I f E

r r T h e n M s g B o x E r . N u m b e r& I 1 o . l t&E r r . D e s c r i p t i o n’打开失败E x i t S u b E n d I f

置模块的分析与利用,实现了钻孔柱状图绘制的自动化,大大提高了工作效率。同时为 E x c e l中的 V B A模块的开发利用提出了一种新思路。参考文献

E n dⅡm y A c a d A p p . V i s i b l e=T r u e’显示 C A D

『 1] q L祥丰等. A u t o C A D V B A从入门到精通[ M】 .北京:电子工业出版社, 2 0 0 1 .

3 . 5读取 E x c e l数据进行画线。 D i m L i n e O b j A s A c a d L i n e‘声明画线变量Di m i, n As I n t e g e r

[ 2]曾洪飞等. A u t o C A D V B A的开发基础与实例教程【 M】 .北京:中国电力出版社, 2 0 0 9 .

D i m e n d P t ( 2 )A s D o u b l e’点坐标

作者简介:李海民,男,工程师,黑龙江龙煤地质勘探有限公司。

本文来源:https://www.bwwdw.com/article/g6l1.html

Top