37.2.1VBA的概念与作用
VBA(VisualBasicforapplication)是一种完全面向对象体系结构的编程语言,由于其在开发方面的易用性和具有强大的功能,因此许多应用程序均嵌入该语言作为开发工具。Autodesk公司也在AutoCADR14.01版本开始内置了VBA开发工具,同时提供了适用于VBA开发的ActiveXAutomation对象模型。
在AutoCAD2002版本中内置的VBA是基于VisualBasic6.0版本,其版本信息如图37-3所示。
VBA具有很强的开发能力,其主要功能包括:
(1)创建对话框及其它界面。
(2)创建工具栏。
(3)建立模块级宏指令。
(4)提供建立类模块的功能。
(5)具有完善的数据访问与管理能力,可通过DAO(数据访问对象)对access数据库或其它外部数据库进行访问和管理。
(6)能够使用SQL语句检索数据,与RDO(远程数据对象)结合起来,可建立C/S(客户机/服务机)级的数据通信。
(7)能够使用Win32API提供的功能,建立应用程序与操作系统间的通信。
从功能上来说,VBA与VB几乎完全一样,或者说VBA是VB的一个子集。但它们之间更本质的区别在于VBA没有自己独立的工作环境,而必须依附于主应用程序;而VB则不依附于任何其它的应用程序,具有完全独立的工作环境和编译、连接系统。
由于VBA依附于主应用程序,因此它与主应用程序之间的通信简单而富有效率,其代码完全是在进程内执行的。VBA的代码在AutoCAD中仍以解释的方式执行,但由于它与AutoCAD共享内存空间,因此执行速度比ADS程序还要快。
37.2.2VBA的启动和界面
由于VBA集成在AutoCAD系统内部,因此用户必须先启动AutoCAD,然后才能进入VBAIDE环境。启动VBA的方式为:
菜单:【Tools(工具)】→【Macor(宏)】→【VisualBasicEditor(VB编辑器)】
命令行:vbaide
启动VB编辑器后,其常用界面如图37-4所示。
各组成部分的说明如下:
(1)标题栏:显示应用程序名称和窗口控制按钮。
(2)菜单栏:通过选取各菜单项来完成相应的功能。
(3)工具栏:提供了对常用功能的快速调用。VBAIDE共提供了四个工具栏:“Standard(标准)”、“Edit(编辑)”、“UserForm(用户窗体)”和“Debug(调试)”,如图37-5所示。
(4)工程窗口:以树状结构显示主应用程序与窗体、模块及类模块的完整结构,用户可在工程窗口中直接选择窗体或模块,对其进行编辑。
(5)窗体窗口:构建应用程序界面,用户可以在窗体上添加各种控件。
(6)控件工具箱:用于设计视窗界面的各类控件。
(7)代码窗口:用于编写模块的过程代码。
(8)属性窗口:用于显示窗体上的某个控件的可见属性及其默认值,通过该属性窗口,还可以对可见属性的值进行直接编辑。
37.2.3退出VBAIDE
用户可选择菜单【File(文件)】→【CloseandReturntoAutoCAD(关闭并返回AutoCAD)】或单击窗口右上角的按钮来退出VBAIDE并返回AutoCAD系统窗口。