CADvba开发手册.docx
- 文档编号:30619020
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:265
- 大小:143.21KB
CADvba开发手册.docx
《CADvba开发手册.docx》由会员分享,可在线阅读,更多相关《CADvba开发手册.docx(265页珍藏版)》请在冰豆网上搜索。
CADvba开发手册
V
B
A
开
发
人
员
手
册
姓名:
高化奎
深圳爱华勘测工程有限公司
第一章:
VBA入门
本章将为你介绍AutoCADVBA工程及VBA交互开发环境(VBAIDE)。
尽管大部分VBA环境在行为上都是相似的,但AutoCADVBAIDE还是有些独有的特性。
在AutoCAD中还有些相关的命令可以用于装载工程、运行工程,或打开VBAIDE环境。
本章将概要介绍VBA工程、VBA命令和VBAIDE的使用。
本章具体内容如下:
了解嵌入和全局VBA工程、用VBA管理器组织工程、处理宏、用VBAIDE编辑工程、更多的信息、回顾AutoCADVBA工程术语、回顾AutoCADVBA命令
第一节:
了解嵌入和全局VBA工程
AutoCADVBA工程是代码模块、类模块和窗体的集合,它们组合起来以执行给予的功能。
工程可保存在AutoCAD图形中,或作为独立的文件保存。
嵌入工程是保存在AutoCAD图形中。
当包含有这些工程的图形中AutoCAD打开时,他们可以自动地装载,这种方法可以很方便地分发工程给用户。
嵌入工程也有它的极限,它不能打开或关闭AutoCAD图形,那是由于他们的函数只存在于工程所在的文档中。
使用嵌入工程不需要在运行程序之前查找并装载工程文件。
举个含有嵌入工程的图形的例子,当图形打开时,一个时间日志被触发。
通过这样一个宏的应用可以登记并记录用户在该图形上所花费的时间。
这时用户不必去记住在打开图形之前装载工程,这就是自动操作的一个很好的例子。
全局工程保存在独立的文件中,它更加通用,因为他们能在AutoCAD图形中运行,也能打开、关闭AutoCAD图形,但它在图形打开时不能自动装载。
用户必须知道他们所需要的宏包含在哪个工程文件中。
然而,全局工程非常容易与其它使用者共享,它可以将通用的宏做为很好的库而存在。
举个例子,你保存在一个工程文件中的宏是有关多个图形的材料清单。
这个宏可以在工作周期的末期由管理员运行,这样就可以收集到所有图形的信息。
在特定的时间,用户可以在同个AutoCAD进程中同时装载嵌入工程和全局工程。
AutoCADVBA工程与VisualBasic工程在二进制结构上是不兼容的。
然而,其中的窗体、模块和类可以通过在VBAIDE环境中使用输入和输出VBA命令来在工程之间进行转换。
关于VBAIDE的更多信息,可以查看“用VBAIDE编辑工程”
第二节:
用VBA管理器组织工程
你可以使用VBA管理器查看装载在当前AutoCAD进程的所有VBA工程。
VBA管理器一个AutoCAD工具,它允许你装载、卸载、保存、创建、嵌入和分离VBA工程。
打开VBA管理器的步骤:
1.在工具菜单中选择宏-VBA管理器。
2.或者,在AutoCAD中调用VBAMAN命令。
本节的内容:
装载现存的工程、卸载工程、嵌入工程到图形中、从图形中分离工程、创建新的工程、保存嵌入工程。
装载现存的工程
当你装载工程到AutoCAD中,所有的公用的子程序(也称为宏)都可以使用。
嵌入于图形中的工程在图形打开时就被装载。
保存在DVB文件中的工程必须单独装载。
装载现存的VBA工程文件
1.在VBA管理器中,使用装载项可弹出打开VBA工程对话框。
2.在打开VBA工程对话框中,选择打开的工程文件。
该VBA工程对话框允许你打开有效的DVB文件。
如果你尝试打开不同类型的文件,你将会得到出错信息。
3.选择打开。
你也可以使用VBALOAD命令直接出现打开VBA工程对话框以装载工程文件。
另外,当工程装载后,该工程所引用的其它工程将会自动地装载。
还有,AutoCAD在启动时将自动装载名称为acad.dvb的工程文件。
相关主题:
病毒警告
每次当你装载工程时,你会看到启用或禁用工程中的代码以阻止宏病毒的警告框。
如果你选用启用代码,如果工程中含有宏病毒时病毒可能会发作。
如果你禁用代码,工程同样会装载,但工程中的所有代码将不能运行。
想查看更多关于病毒保护的信息,请参考“设置工程选项”。
卸载工程
卸载工程以释放内存并保持装载的工程列表的长度以方便管理。
你不能卸载嵌入工程或由其它已装载工程所引用的工程。
卸载VBA工程的操作
1.在VBA管理器中,选择要卸载的工程。
2.选择卸载。
或者,使用VBAUNLOAD命令,它将提示你所要卸载的工程。
嵌入工程到图形中
当你嵌入一个工程时,你是将工程的一个副本置于图形数据库中。
无论何时,当所包含工程的图形打开或关闭时,工程会同时被装载和被卸载。
一个图形只有在同一时间包含一个嵌入工程。
如果图形已经包含有一个嵌入工程,你必须在同样地入其它工程之前将该嵌入工程分离出。
嵌入工程到AutoCAD图形中的操作。
1.打开VBA管理器并选择你所要嵌入的工程。
2.选择嵌入。
从图形中分离工程
当你分离工程时,其实是将工程从图形数据库中删除,同时会提示你将工程保存为外部的工程文件。
如果你没有将其保存为外部工程文件,该工程的数据将会删除。
从AutoCAD图形中分离工程的操作
1.打开VBA管理器并选择要从图形中分离的工程。
2.选择分离。
3.如果你想保存工程信息为外部工程文件,可以在“你是否想在删除VBA工程前将其输出?
”的提示下选择“是”,此时会显示另存为对话框,允许你保存文件。
如果你不想保存该工程信息到外部文件,可以在“你是否想在删除VBA工程前将其输出?
”的提示下选择“否”,此时工程信息将在没有保存的情况下从图形中删除。
创建新的工程
新的工程将作为未保存的全局工程被创建。
当工程创建时,你可以将工程嵌入图形中,或将其保存为工程文件。
创建新的VBA工程的操作
1.打开VBA管理器。
2.选择新建。
新创建的工程将使用默认的工程名称ACADproject。
你必须到VBAIDE中才可以更改工程名称。
查看更多关于命名工程的信息,请参考“命名工程”。
保存嵌入工程
嵌入工程是在图形保存时同时保存的。
全局工程必须使用VBA管理器或VBAIDE进行保存。
使用VBA管理器保存工程的操作
1.打开VBA管理器并选择要保存的工程。
2.选择另存为,此时另存为对话框打开。
3.选择用于保存工程的文件。
4.选择保存
第三节:
处理宏
与设置VBA工程选项一样,宏对话框允许你运行、编辑、删除和创建宏。
宏是公用(可执行)的子程序。
每一工程通常至少一个宏。
打开宏对话框的操作
1.从工具菜单中选择宏-宏。
2.或在AutoCAD中调用VBARUN命令。
在对话框中显示的是所有在有效范围内的宏名称。
你可通过下拉列表来改变有效范围。
该列表指定所要显示的宏所在的工程或图形。
你可在以下列表内容选择所要显示宏范围
所有图形和工程
所有图形
所有工程
在当前所打开的单独图形
在当前所装载的单独工程
通过限制有效范围你可控制显示在列表中的宏名称的数量。
它可帮助你注意到当前有多少宏装载到图形中或指定工程中有多少宏。
本节内容:
运行宏
编辑宏
逐语句运行宏
创建新的宏
删除宏
设置工程选项
运行宏
运行宏就是在当前AutoCAD进程中执行宏代码。
当前活动图形指的是当宏执行开始时处于打开并处理激活状态。
所有在全局工程的宏中所涉及的ThisDrawing对象将指向当前活动图形。
在嵌入工程中,ThisDrawing对象通常指向嵌入该宏的图形。
运行宏的操作
1.打开宏对话框并选择要运行的宏。
2.选择运行。
编辑宏
编辑宏将打开VBAIDE并打开所选定宏的代码窗口。
详细的介绍请参考“用VBAIDE编辑工程”。
编辑宏的操作
1.打开宏对话框并选择要编辑的宏。
2.选择编辑。
逐语句运行宏
逐语句运行宏指的是开始运行宏并在第一行代码时暂停。
VBAIDE也随之打开所选定的宏的代码窗口并高亮显示所执行宏所在的行。
逐语句运行宏的操作
1.在宏对话框中,选择要逐语句运行的宏。
2.选择逐语句。
创建新的宏
你可以创建一个空的新宏。
创建新宏的操作
1.打开宏对话框并输入新宏的名称。
2.在宏位置下拉列表中选择所创建宏所要存在的位置。
3.选择创建。
如果所指定宏的名称已经存在,系统将提示你是否替换现在的宏。
如果你在提示下选择“是”,则现在的宏代码将被删除,而一个新的而没有内容的宏也会以指定名称而创建。
如果你在提示下选择“否”,这时会返回宏对话框以输入另外的宏名称。
如果你在提示下选择“取消”,宏对话框将消失,宏也没有创建。
删除宏
你可以从工程中删除宏
删除宏的操作
1.打开宏对话框并选择要删除的宏
2.选择删除。
系统会提示你是否确认删除。
3.在提示下,选择“是”而删除宏,或者选择“否”以取消删除的操作。
设置工程选项
在AutoCADVBA工程中可以设置三个选项:
启用自动嵌入
出错时允许中断
启用宏病毒保护
设置AutoCADVBA工程选项的操作
1.从工具菜单中选择宏-宏以打开VBA宏对话框。
2.从VBA宏对话框中,选择选项以打开选项对话框。
3.从选项对话框中,选择你所要设置的选项。
4.选择确定。
本节内容:
启用自动嵌入
出错时允许中断
启用宏病毒保护
启用自动嵌入
自动嵌入特性将在打开图形时自动为所有图形创建嵌入的VBA工程。
出错时允许中断
在遇到错误时允许VBA进入中断模式。
中断模式是在交互开发环境中暂时挂起程序的执行。
在中断模式中,你可以检查、调试、复位、跳过或继续程序的执行。
当该选项启用时,在执行VBA宏的过程中如发现的未处理的错误,将会挂起执行的宏并在VBAIDE中显示宏的出错点。
当该选项禁用时,当执行VBA宏的过程中如发现出错时,将出现错误警告提示框,然后结束宏的执行。
启用宏病毒保护
病毒防护机制将在你打开可能含有宏病毒的图形时显示内建的警告信息。
第四节:
用VBAIDE编辑工程
当工程装载到AutoCAD后,你可以使用VBA交互开发环境编辑其代码、窗体及进行引用。
你也可以在VBAIDE中调试和运行工程。
本节内容:
打开VBAIDE
查看工程信息
定义工程的部件
输入现存的部件
编辑部件
运行宏
命名工程
保存工程
引用其它VBA工程
设置VBAIDE选项
打开VBAIDE
当打开VBAIDE时,它就可以访问所有已装载的工程。
按需要打开VBAIDE的操作:
你可以从命令行或从菜单栏中打开VBAIDE从命令行,可输入VBAIDE,或从工具菜单,使用宏-VisualBasic编辑器。
在AutoCAD启动时自动打开VBAIDE的操作:
如果你想在每次开始AutoCAD时自动打开VBAIDE,你必须在acad.rx文件中包含以下行:
acadvba.arx
查看工程信息
VBAIDE包含名称为工程窗口的窗口,其中显示了所有已装载VBA工程的列表。
它也显示包含在工程中的代码、类和窗体模块,还有关联到该工程的文档,在该工程所引用的VBA工程,以及工程的物理位置(也称路径)。
工程窗口有它自己的工具栏,使用其工具栏可打开不同的工程部件进行编辑。
使用查看代码按钮可打开选定模块的代码。
使用查看对象按钮可显示如窗体之类的选定对象。
VBAIDE工程窗口
工程窗口默认为可见。
如果不可见,可从查看菜单中选择工程窗口,或按CTRL+R。
定义工程的部件
每个工程可包含多个不同的部件。
在工程中包含的不同部件可以是对象、窗体、标准模块、类模块和引用。
对象
对象部件声称了VBA代码可访问的对象或文档的类型。
在AutoCADVBA工程,该对象声称为当前AutoCAD图形。
窗体:
窗体部件包含了当前你在工程中为了使用而建立的自定义对话框。
标准模块:
该代码部件包含了普通程序和函数。
标准模块也归类为代码模块或简单的模块。
类模块:
类模块部件包含你所有定义为类的自己的对象。
引用:
引用部件包含所有引用其它的工程和库。
增加新部件
增加新的部件是在工程中创建一空白的部件。
你可在工程中增加新的模块、窗体和类模块。
你有责任更新所有部件的属性(如部件的名称)并在其中写入适当的代码。
当命名一个新的部件,请记住可能其它开发都会在以后的应用程序中用到你的部件。
在你的开发项目中应该跟随适当的名称约定。
增加新的部件到工程的操作
1.在VBAIDE的工程窗口中,选择你要增加部件的工程。
2.从插入菜单中,选择用户窗体、模块或类模块以增加新的部件到你的工程中。
新的模块将被增加到你的工程中并出现在工程窗口中。
输入现存的部件
输入功能允许你增加现存的部件到工程中。
你可以输入窗体、模块或类模块。
输入的窗体文件为FRM文件,输入的模块文件为BAS文件,输入的类模块文件为CLS文件。
当你输入一个部件文件,文件的一个副本将输入并增加到工程中。
而原来的文件也会保持不变。
在输入部件中所做的不会影响到原来的部件文件。
如果你用现存的同样的名称输入部件,该文件将添加到工程中相应的部件上。
从工程中输入现存的部件的操作
1.在VBAIDE的工程窗口中,选择你要增加部件的工程。
2.从文件菜单中,选择输入文件以打开输入文件对话框。
3.从输入文件对话框中,选择所要输入的文件,然后按打开。
该输入部件将增加到你的工程中并在工程窗口中出现。
编辑部件的属性,可选择工程窗口的该部件。
所选部件的属性将在属性窗口中列出并可编辑。
编辑部件
在工程中编辑工程的操作
1.在VBAIDE的工程窗口中,选择你要编辑的部件。
2.选择工程窗口中的查看代码按钮以打开代码窗口。
3.选择工程窗口中的查看对象按钮以打开用户窗体窗口和关联的工具箱。
你可同时打开你所有模块中的代码窗口,所以你可很容易地不同窗体或模块中的代码,并在它们之间进行复制和粘贴。
访问关联在窗体中的代码的操作
在窗体窗口中双击任何控件。
关联在该控件中的代码将会在代码窗口中打开。
使用代码窗口
代码窗口包含两个下拉列表、一个分隔条、一个边界标识条栏和全模块视图和过程模块视图的图标。
在代码窗口的顶部有两个下拉列表,它们显示当前对象和过程。
你可通过更改在此下拉列有中的对象或过程来在工程中移动。
在代码窗口的右侧在一分隔条,它允许你在垂直方向分隔窗口。
单独拖动该分隔条呆创建另外的窗口窗格。
该特性允许你同时查看相同模块中的两部分代码。
关闭窗格时,可将分隔条拖回其原先的位置。
边界标识条栏是在代码窗口的左侧。
它用于显示在代码编辑和调试期间的边界标识条。
全模块视图和过程模块视图图标位于代码窗口的左下角,它可在单过程模块视图和全模块视图之间切换。
使用用户窗体窗口
用户窗体窗口允许你在工程中创建自定义对话框。
增加控件可简单地从工具箱中拖动想要控件并摆放在窗体中。
你可从选项对话框中的常规选项卡中设置控件的对齐栅格。
你可查看窗体栅格并可从选项对话框的常规选项卡中设定栅格线的大小。
(参考“设置VBAIDE选项”以得到更多的信息。
)
你设计的每一窗体都有最大化、最小化和关闭按钮。
这些按钮已经为你准备好。
将代码增加到控件中,可简单地双击摆放在窗体中的控件。
此时将打开相应控件的代码窗口。
运行宏
和在宏对话框中运行宏一样,你也可以在VBAIDE中运行宏。
从VBAIDE中运行宏的操作
从菜单中,使用运行宏菜单选项。
如果当前没有宏或窗体,将显示一对话框允许你选择所要运行的宏。
如果当前已经提供了宏(即光标已经在一过程中),此时将直接执行宏。
命名工程
工程名称和保存工程的.dvb文件名称是两个不同的值。
当你保存工程时你所设定的为保存工程的.dvb文件名称。
而工程名称是在VBAIDE的属性窗口中设置的。
如果你没有设定工程名称和文件名称,AutoCAD将自动地以以下默认的名称进行分配:
工程名称:
ACADProject
文件名称:
Project.dvb
更改工程名称的操作
1.在VBAIDE的工程窗口中,选择要更改的工程。
2.在属性窗口中,编辑工程的名称属性。
更改工程的文件名称操作
1.在VBAIDE中,从文件菜单中选择保存项。
2.在另存为对话框中,输入工程文件新的名称和路径。
保存工程
在AutoCAD的VBA工程中,没有直接的保存命令。
取而代之,保存命令被置于VBAIDE的文件菜单中和VBA管理器中。
当发生以下事件时,VBA工程中所进行的更改将访问一标准的保存VBA工程对话框:
你在VBAIDE中拾取了保存命令
你在VBA管理器中选择了另存为项
在VBA工程没有保存的情况下结束或退出AutoCAD进程
注意:
当你保存工程时,它将分配一默认的文件名称project.dvb。
尤其重要的是在你保存工程时你应该为工程文件分配一新的名称。
如果你使用默认的文件名称project.dvb保存工程,你将不能再创建新的空工程了。
每一次你创建新的工程,你将得到的是装入已经存为project.dvb文件名称的工程。
引用其它VBA工程
从其它工程中引用VBA工程可开发者容易分享代码。
开发者可使用宏来创建公用的库,然后在需要时引用库中的内容。
这样可将共享代码公开并让众多的开发利用该代码。
引用其它VBA工程的操作
1.在VBAIDE的工程窗口中,选择你要增加引用的工程。
2.从工具菜单中,选择引用项以打开引用对话框。
3.从引用对话框中,按浏览按钮打开添加引用对话框。
4.从添加引用对话框中,选择你要引用的工程文件,然后按打开按钮。
5.从添加引用对话框中,选择确定按钮完成引用的添加。
当另外的工程被成功以引用,你将会注意到在VBAIDE的工程窗口中有一新的文件夹。
该新的文件夹是引用的标题,它包含着引用工程的名称。
当你引用了一个工程,你可使用工程中公用的代码或部件。
当引用了其它工程的工程被装载到AutoCAD中,被引用的工程也自动地装载到AutoCAD中。
该被引用工程在引用它的工程没有关闭之前是不能关闭的。
你不能进行循环引用。
也就是说,你不能引用包含第一个工程的工程。
如果你不小心创建了一个循环引用,你将会得到VBA的一个警告提示。
注意:
你不能引用嵌入工程或从其它应用程序中的VBA工程。
设置VBAIDE选项
你可使用选项对话框更改VBAIDE的特征。
可使用工具菜单并选择选项来打开选项对话框。
选项对话框包含四个选项卡:
编辑器、编辑器格式、通用和可连接。
编辑器
编辑器选项卡指定代码窗口和工程窗口的设置。
代码设置包括
自动语法检测
要求变量声明
自动列出成员
自动显示快速信息
自动显示数据提示
自动缩进
Tab宽度
窗口设置包括
编辑时可拖放文本
缺省为查看所有模块
过程分隔符显示
编辑器格式
编辑器格式选项卡指定VisualBasic代码的外观。
你可以
更改代码的颜色
更改文本列出项
更改前景
更改背景
更改边界标识条
更改文本字体和大小
显示或隐藏边界标识条
显示或隐藏你设置的示例文本
通用
通用选项卡指定当前VisualBasic工程的设置、出错处理和编译设置。
你可以
更改窗体栅格的栅格设置
显示或隐藏工具提示
设定工程折叠收起时自动隐藏窗口
在丢失当前状态前通知
决定出错时的处理方法
设定工程编译时为需要时编译或进行后台编译。
可连接的
可连接的选项卡允许你选择要进行泊留在主窗口上的窗口(也就是非浮动状态)。
进行介绍性练习
现在你可能已经学习了在AutoCADVBA中进行编程的基础知识,那就试试创建一个简单的“HelloWorld”的练习示例。
在本练习中你将创建一个新的AutoCAD图形,在图形中增加一行文本,然后保存图形,所有的这些操作都在VBA中完成。
创建“HelloWorld”文本对象
1打开从AutoCAD的命令行中输入以下命令打开VBAIDE:
命令:
VBAIDE
2在VBAIDE的视图菜单中选择代码项打开代码窗口。
3通过从VBAIDE的插入菜单中选择过程项在工程中创建一个新的过程。
4当提示需要过程信息时,输入如HelloWorld这样的名称。
确定类型选定的是Sub,而范围选定的是Public。
5选择确定。
6在行PublicSubHelloWorld()和行EndSub之间输入以下代码(功能是打开新的图形):
7紧接着第6步输入以下代码(它创建文本字符并定义它的插入位置)。
DiminsPoint(0To2)AsDouble'定义插入点
DimtextHeightAsDouble'定义文本高度
DimtextStrAsString'定义文本字符
DimtextObjAsAcadText'定义文本对象
insPoint(0)=2'设定插入点X坐标
insPoint
(1)=4'设定插入点Y坐标
insPoint
(2)=0'设定插入点Z坐标
textHeight=1'设定文本高度为1.0
textStr="HelloWorld!
"'设定文本字符
'创建文本对象
SettextObj=_
(textStr,insPoint,textHeight)
8紧接着第7步输入以下代码(保存图形)
ThisDrawing.SaveAs("Hello.dwg")
9通过从VBAIDE的运行菜单中选择运行过程/用户窗体项运行你的程序。
当程序运行完成后,回到AutoCAD应用程序中,你可看到在图形中出现有“HelloWorld!
”的文本。
该图形名称为Hello.dwg。
第五节:
更多的信息
关于VBAIDE及VisualBasic编程语言的更多信息可在微软提供的帮助文件中找到。
访问微软VBAIDE帮助文件的操作
从VBAIDE的帮助菜单中,选择MicrosoftVisualBasic帮助。
第六节:
回顾AutoCADVBA工程术语
常规工程
保存在.dvb文件的VBA工程。
嵌入工程
保存在AutoCAD图形中的VBA工程。
正常文档
没有包含VBA嵌入工程的AutoCAD图形。
活跃文档
包含VBA嵌入工程的AutoCAD图形。
当前工程
在VBAIDE中当前选定的工程。
ThisDrawing
ThisDrawing是用于声称当前图形的VBA编程项目。
在常规工程中,ThisDrawing通常指向AutoCAD的活动文档。
在嵌入的工程中,ThisDrawing通过指向包含该工程的文档。
VBAIDE
指的是VBA交互开发环境。
该应用程序允许你编辑工程中的代码和窗体,或从其它工程中复制代码和窗体。
它也允许你设定引用其它应用程序的对象模块。
VBA管理器
VBA管理器允许你管理工程。
你可以创建、删除、嵌入或分离工程。
你也可以查看工程是否嵌入于打开的图形中。
宏对话框
宏对话框允许你运行、删除和创建新的宏,也提供访问VBA工程选项。
第七节:
回顾AutoCADVBA命令
VBAIDE
打开VBAIDE。
该VBAIDE允许你交互式地编辑、运行及调试程序。
尽管VBAIDE只能在AutoCAD运行时才能调用,但它可独立于AutoCAD应用程序窗口进行最小化、打开和关闭。
VBALOAD
在当前AutoCAD进程中装载VBA工程。
VBARUN
从宏对话框中或从AutoCAD命令行中运行VBA宏。
VBAUNLOAD
从当前Auto
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CADvba 开发 手册
![提示](https://static.bdocx.com/images/bang_tan.gif)