VBA 开发手册第一章 VBA 入门了解嵌入和全局 VBA 工程AutoCAD VBA 工程是代码模块、类模块和窗体的集合,它们组合起来以执行给予的功能。
工程可保存在 AutoCAD 图形中,或作为独立的文件保存。
嵌入工程是保存在 AutoCAD 图形中。
当包含有这些工程的图形中 AutoCAD 打开时,他们可以自动地装载,这种方法可以很方便地分发工程给用户。
嵌入工程也有它的极限,它不能打开或关闭 AutoCAD图形,那是由于他们的函数只存在于工程所在的文档中。
使用嵌入工程不需要在运行程序之前查找并装载工程文件。
举个含有嵌入工程的图形的例子,当图形打开时,一个时间日志被触发。
通过这样一个宏的应用可以登记并记录用户在该图形上所花费的时间。
这时用户不必去记住在打开图形之前装载工程,这就是自动操作的一个很好的例子。
全局工程保存在独立的文件中,它更加通用,因为他们能在 AutoCAD 图形中运行,也能打开、关闭 AutoCAD 图形,但它在图形打开时不能自动装载。
用户必须知道他们所需要的宏包含在哪个工程文件中。
然而,全局工程非常容易与其它使用者共享,它可以将通用的宏做为很好的库而存在。
举个例子,你保存在一个工程文件中的宏是有关多个图形的材料清单。
这个宏可以在工作周期的末期由管理员运行,这样就可以收集到所有图形的信息。
在特定的时间,用户可以在同个 AutoCAD 进程中同时装载嵌入工程和全局工程。
AutoCAD VBA 工程与 Visual Basic 工程在二进制结构上是不兼容的。
然而,其中的窗体、模块和类可以通过在 VBA IDE 环境中使用输入和输出 VBA 命令来在工程之间进行转换。
关于 VBA IDE 的更多信息,可以查看“用 VBA IDE 编辑工程”用 VBA 管理器组织工程你可以使用 VBA 管理器查看装载在当前 AutoCAD 进程的所有 VBA 工程。
VBA 管理器一个AutoCAD 工具,它允许你装载、卸载、保存、创建、嵌入和分离 VBA 工程。
打开VBA 管理器的步骤:1. 在工具菜单中选择宏-VBA 管理器。
2. 或者,在 AutoCAD 中调用 VBAMAN 命令。
本节的内容:装载现存的工程当你装载工程到AutoCAD 中,所有的公用的子程序(也称为宏)都可以使用。
嵌入于图形中的工程在图形打开时就被装载。
保存在DVB 文件中的工程必须单独装载。
装载现存的VBA 工程文件1. 在 VBA 管理器中,使用装载项可弹出打开VBA 工程对话框。
2. 在打开 VBA 工程对话框中,选择打开的工程文件。
该VBA 工程对话框允许你打开有效的DVB 文件。
如果你尝试打开不同类型的文件,你将会得到出错信息。
3. 选择打开。
本章将为你介绍 AutoCADVBA 工程及VBA 交互开发环境(VBA IDE)。
尽管大部分VBA 环境在行为上都是相似的,但AutoCADVBA IDE 还是有些独有的特性。
在AutoCAD 中还有些相关的命令可以用于装载工程、运行工程,或打开VBA IDE 环境。
本章将概要介绍VBA 工程、VBA 命令和VBA IDE 的使用。
你也可以使用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。
你必须到VBA IDE 中才可以更改工程名称。
查看更多关于命名工程的信息,请参考“命名工程”。
保存嵌入工程嵌入工程是在图形保存时同时保存的。
全局工程必须使用 VBA 管理器或VBA IDE 进行保存。
使用VBA 管理器保存工程的操作1. 打开 VBA 管理器并选择要保存的工程。
2. 选择另存为,此时另存为对话框打开。
3. 选择用于保存工程的文件。
4. 选择保存处理宏与设置 VBA 工程选项一样,宏对话框允许你运行、编辑、删除和创建宏。
宏是公用(可执行)的子程序。
每一工程通常至少一个宏。
在对话框中显示的是所有在有效范围内的宏名称。
你可通过下拉列表来改变有效范围。
该列表指定所要显示的宏所在的工程或图形。
你可在以下列表内容选择所要显示宏范围所有图形和工程 所有图形 所有工程在当前所打开的单独图形 在当前所装载的单独工程通过限制有效范围你可控制显示在列表中的宏名称的数量。
它可帮助你注意到当前有多少宏装载到图形中或指定工程中有多少宏。
本节内容:运行宏 编辑宏 逐语句运行宏 创建新的宏 删除宏 设置工程选项运行宏运行宏就是在当前AutoCAD 进程中执行宏代码。
当前活动图形指的是当宏执行开始时处于打开并处理激活状态。
所有在全局工程的宏中所涉及的ThisDrawing 对象将指向当前活动图形。
在嵌入工程中,ThisDrawing 对象通常指向嵌入该宏的图形。
编辑宏 编辑宏将打开VBA IDE 并打开所选定宏的代码窗口。
详细的介绍请参考“用VBAIDE 编辑工程”。
逐语句运行宏 逐语句运行宏指的是开始运行宏并在第一行代码时暂停。
VBAIDE 也随之打开所选定的宏的代码窗口并高亮显示所执行宏所在的行。
创建新的宏 你可以创建一个空的新宏。
如果所指定宏的名称已经存在,系统将提示你是否替换现在的宏。
如果你在提示下选择“是”,则现在的宏代码将被删除,而一个新的而没有内容的宏也会以指定名称而创建。
如果你在提示下选择“否”,这时会返回宏对话框以输入另外的宏名称。
如果你在提示下选择“取消”,宏对话框将消失,宏也没有创建。
打开宏对话框的操作1. 从工具菜单中选择宏-宏。
2. 或在 AutoCAD 中调用VBARUN 命令。
运行宏的操作1. 打开宏对话框并选择要运行的宏。
2. 选择运行。
编辑宏的操作1. 打开宏对话框并选择要编辑的宏。
2. 选择编辑。
逐语句运行宏的操作1. 在宏对话框中,选择要逐语句运行的宏。
2. 选择逐语句。
创建新宏的操作1. 打开宏对话框并输入新宏的名称。
2. 在宏位置下拉列表中选择所创建宏所要存在的位置。
3. 选择创建。
删除宏 你可以从工程中删除宏删除宏的操作1. 打开宏对话框并选择要删除的宏2. 选择删除。
系统会提示你是否确认删除。
3. 在提示下,选择“是”而删除宏,或者选择“否”以取消删除的操作。
设置工程选项 在AutoCAD VBA 工程中可以设置三个选项:启用自动嵌入出错时允许中断启用宏病毒保护设置AutoCAD VBA 工程选项的操作1. 从工具菜单中选择宏-宏以打开VBA 宏对话框。
2. 从 VBA 宏对话框中,选择选项以打开选项对话框。
3. 从选项对话框中,选择你所要设置的选项。
4. 选择确定。
本节内容:启用自动嵌入 出错时允许中断 启用宏病毒保护启用自动嵌入 自动嵌入特性将在打开图形时自动为所有图形创建嵌入的 VBA 工程。
出错时允许中断在遇到错误时允许VBA 进入中断模式。
中断模式是在交互开发环境中暂时挂起程序的执行。
在中断模式中,你可以检查、调试、复位、跳过或继续程序的执行。
当该选项启用时,在执行VBA 宏的过程中如发现的未处理的错误,将会挂起执行的宏并在VBAIDE 中显示宏的出错点。
当该选项禁用时,当执行VBA 宏的过程中如发现出错时,将出现错误警告提示框,然后结束宏的执行。
启用宏病毒保护病毒防护机制将在你打开可能含有宏病毒的图形时显示内建的警告信息。
用VBA IDE 编辑工程当工程装载到 AutoCAD 后,你可以使用VBA 交互开发环境编辑其代码、窗体及进行引用。
你也可以在VBAIDE 中调试和运行工程。
本节内容:打开VBA IDE 查看工程信息 定义工程的部件输入现存的部件 编辑部件 运行宏命名工程 保存工程 引用其它VBA 工程 设置VBA IDE 选项IDE 的操作:你可以从命令行或从菜单栏中打开VBA IDE从命令行,可输入VBAIDE。
或从工具菜单,使用宏-VisualBasic编辑器。
在AutoCAD 启动时自动打开VBA IDE 的操作:如果你想在每次开始AutoCAD 时自动打开VBA IDE,你必须在acad.rx 文件中包含以下行:acadvba.arx查看工程信息VBA IDE 包含名称为工程窗口的窗口,其中显示了所有已装载VBA 工程的列表。
它也显示包含在工程中的代码、类和窗体模块,还有关联到该工程的文档,在该工程所引用的VBA 工程,以及工程的物理位置(也称路径)。
工程窗口有它自己的工具栏,使用其工具栏可打开不同的工程部件进行编辑。
使用查看代码按钮可打开选定模块的代码。
使 用查看对象按钮可显示如窗体之类的选定对象。
VBA IDE 工程窗口工程窗口默认为可见。
如果不可见,可从查看菜单中选择工程窗口,或按CTRL+R 。