第2章 VBA开发环境
本章视频教学录像:21分钟
高手指引
VBA的程序是由代码组成,编写和调试VBA代码的操作都是在VBE窗口中完成的,因此,非常有必要熟悉VBE窗口的结构,并熟练掌握其使用方法。VBE (Visual Basic Editor) 或者VBA集成开发环境IDE(Integrated Development Environment)是进行VBA程序代码设计和编写的地方,具有非常友好的开发环境,集中了代码编写、调试等功能,是学习VBA过程中必备的工具。下面让我们先熟悉一下VBA的集成开发环境的结构和使用方法,然后通过一个简单的VBA使用程序的编写,认识使用VBA集成开发环境开发程序的基本过程。
重点导读
掌握VBA集成开发环境的安装与配置
VBA程序应用实例
VBA帮助系统的应用
2.1 VBA的集成开发环境
本节视频教学录像:10分钟
使用VBA开发应用程序时,有关VBA的操作都是在VBE中进行的,使用VBE开发环境可以完成以下任务。
⑴ 创建VBA过程。
⑵ 创建用户窗体。
⑶ 查看/修改对象属性。
⑷ 编辑/调试VBA程序。
下面就来认识一下VBA的集成开发环境。
2.1.1 VBA开发环境的安装与配置
用户在安装Office组件的时候,如果使用的是默认的安装方式,则VBA的开发环境即VBE同时也安装好了。VBE是一个单独的应用程序,拥有独立的操作窗口,可以与Office组件无缝地结合,但VBE环境不能单独打开,要使用VBE,必须先运行对应Office组件(例如先打开Word或者Excel)。
如果没有选择默认安装的方式,有可能VBA的开发环境没有安装,此时可以选择重新安装,或者从网上下载最新的VBA插件,然后安装即可。
初始启动Office组件的时候,VBE环境选项并没有出现在Office的菜单上,需要先进行基本的配置才可以使用。下面使用Office组件Excel 2010为例给出了配置VBE环境的方法。
1 选择【文件】 【选项】菜单命令。
2 在弹出的对话框中,首先单击对话框左侧【自定义功能区】选项,然后单击右侧的【自定义功能区】下拉按钮,在【主选项卡】下方内容中单击“开发工具”前的方框,打上“√”。
这样就完成了VBE的配置,VBE环境选项就出现在Office的菜单上,可以使用下一节介绍的任意一种方法访问VBA开发环境。
提示
如果按照上面的步骤无法配置VBE,推荐将Office组件重新安装,安装的时候选择默认即可。
2.1.2 VBA开发环境
下面同样使用Office组件Excel 2010为例,给出访问VBE环境的方法。
方法一:在【开发工具】功能区中单击【Visual Basic】按钮,即可弹出VBA的开发环境。
方法二:通过快捷组合键【Alt+F11】。
提示
编写对于同一程序,例如Excel,不管打开几个Excel文件,所启动的VBA集成开发环境只有一个。
2.1.3 VBA开发环境的组件
上一节已经介绍了访问VBE环境的方法,VBE是Office和VB两种环境的集合体,因此在界面上继承了两个软件的特点。下面以Excel 2010 VBE为例来熟悉一下VBE界面的各个组成部分。
默认情况下,VBA集成开发环境一般包括上方的【菜单栏】和【工具栏】,左侧的上方为【工程资源管理窗口】,左侧下方为【属性窗口】,右侧为【代码窗口】。
⑴ VBE的【菜单栏】与其他Windows应用程序的菜单栏相似,包含了VBE中的绝大多数命令,用户只需选择对应菜单即可执行对应命令。
⑵ VBE的【工具栏】有5个,分别是“编辑”、“标准”、“快捷菜单”、“调试”和“用户窗体”。默认情况下,标准工具栏显示在菜单栏的下方,可以选择【视图】➣【工具栏】选项进行选择其他工具栏,也可以选择【视图】➣【工具栏】➣【自定义】选项,根据需要新建用户自己的工具栏。
⑶ 【工程资源管理器】窗口中可以看到所有打开和加载的Excel文件及其加载宏。在VBA中,每一个Excel文件称为一个工程,工程名称为“VBAProject(工作薄1)”,如果同时打开多个文件,则可以同时看到多个工程存在。
对于一个工程,在【工程资源管理器】中最多可以显示工程的4类对象,这4类对象分别如下。
① Microsoft Excel对象。
② 窗体对象。
③ 模块对象。
④ 类模块对象。
这4类对象的作用如下所述。
Microsoft Excel对象是代表了Excel文件及它所包含的工作薄和工作表等几个对象,即包括一个Workbook和所有的Sheet,例如默认情况下,Excel文件包含3个Sheet,则在【工程资源管理器】窗口中就包括3个Sheet,名字分别对应原Excel文件中每个Sheet的名字,ThisWorkbook代表当前Excel文件,双击这些对象,可以打开【代码窗口】,在【代码窗口】中可以输入相关代码,相应工作薄或者文件的某些时间,例如:文件打开、文件关闭等。
① 窗体对象是指所定义的对话框或者界面。在VBA设计中经常会涉及窗体或者对话框的设计,在后面章节中我们将陆续介绍是如何产生的。
② 模块对象是指用户自定义的代码,是所录制的宏所保存的地方。
③ 类模块对象是指以类或者对象的方式编写代码所保存的地方。
④ 这些对象的具体使用方法在后面会进一步地介绍。
但并不是所有工程都包含这4类对象,新建的工程文件就只有一个Microsoft Excel对象。在后期工程编辑过程中,可以根据需要灵活增加和删除对象。对工程名“VBAProject(工作簿1)”单击鼠标右键,在弹出的子菜单中选择【插入】命令,即可选择插入的其他3个对象。类似地也可以将这些对象从工程中导出或者移除,也可以将一个工程中的某一模块用鼠标拖曳到同一个【工程资源管理器】窗口的其他工程中。
⑷ 在【工程资源管理器】窗口下面是【属性窗口】,主要用于对象属性的交互式设计和定义,如下图,是Sheet1对象的属性窗口,通过该窗口,可以更改名称、显示方式等属性。该【属性窗口】的内容随着鼠标点击【工程资源管理器】窗口中不同的对象而变化。
⑸ 在【工程资源管理器】窗口中,每个对象都对应一个代码窗口,其中窗体对象不仅有一个代码窗口,还对应一个设计窗口。通过双击【工程资源管理器】窗口中这些对象,可以打开【代码窗口】,在【代码窗口】中可以输入相关代码。在代码窗口的顶部有两个下拉列表,左侧的列表用于选择当前模块中包含的对象,右侧的列表用于选择Sub过程、Function过程或者对象特有的时间过程,选择好这两部分内容后,即可为指定的Sub过程、Function过程或事件过程编辑代码。
VBE开发环境,除了以上几部分外,常见的还有【立即窗口】。
⑹【立即窗口】在VBE中使用频率相对较少,主要用在程序的调试中,用于显示一些计算公式的计算结果,验证数据的计算结果。在开发过程中,可以在代码中加入Debug.Print语句,这条语句可以在立即窗口中输出内容,用来跟踪程序的执行。
可以通过【视图】➣【立即窗口】来设置显示或者隐藏,如下图所示。
2.1.4 定制VBE环境
通过上面的学习,读者已经对VBE环境有了较为全面的认识。但是按照前面的方法打开的VBE环境是默认的环境,对于Office开发人员来说,在使用VBE进行代码的开发过程中,许多人都有自己的习惯,即对所使用的VBE环境进行某些方面的个性化定制,使得VBE环境适合开发人员自身的习惯。例如:
定制VBE环境可以通过【工具】➣【选项】命令,打开“选项”对话框,如下图所示,该对话框包括4个选项卡,可以通过这些选项卡对VBE环境进行定制。这4个选项卡分别实现以下个性化的环境定制。
⑴ 【编辑器】选项卡:用于定制代码窗口的基本控制,例如自动语法检测、自动显示快速信息等、设置Tab宽度、编辑时是否可以拖放文本、过程控制符等。
⑵ 【编辑器格式】选项卡:用于设置代码的显示格式,例如代码的显示颜色、字体大小等内容。
⑶ 【通用】选项卡:用于进行VBA的工程设置、错误处理和编译处理。
⑷ 【可连接的】选项卡:用于决定VBA中各窗口的行为方式。
例如,【编辑器】选项卡中“自动语法检测”选项,如果选中该项,在输入一行代码之后,将进行自动检查语法,如果未选中该复选框,VBE通过使用与其他代码不同的颜色来显示语法错误的代码,并且不弹出提示对话框。
当然这些个性化定制因人而宜,开始学习的时候直接按照默认配置即可,不需另行设置,等熟练使用VBE后,再根据个人情况进行个性化配置。
2.1.5 VBE开发环境的退出
使用VBE开发环境完成VBA代码的编辑后,可以选择【文件】➣【关闭并返回到Microsoft Excel】命令,返回到Microsoft Excel 2010操作界面。
也可以使用【Alt+F4】组合键快速关闭VBE窗口,或者单击VBE窗口标题栏右侧的【关闭】按钮,也可快速关闭VBE窗口。
2.2 VBA程序应用实例
本节视频教学录像:4分钟
上一节已经介绍了VBA的集成开发环境,本书后续章节很多例子都是在这个环境进行代码编写的。下面我们先通过一个简单的例子,了解一下如何编写VBA程序。由于我们还没有开始学习VBA的语法,因此就用一个简单的例子看一下如何使用VBE开发环境,这个例子是在VBE环境中加入一个提示对话框,显示提示信息“您好,这是我的第一个VBA小程序”。
2.2.1 从零开始动手编写程序
下面详细给出创建步骤。
1 首先打开一个Excel 2010空文件。
2 执行【开发工具】 【Visual Basic】命令。
3 即可打开VBA的开发环境。
4 在【工程资源管理器】窗口工程名“VBAProject(工作簿1)”上单击鼠标右键,在弹出的子菜单中选择【插入】 【模块】命令。
5 此时插入一个模块,可以在其中录入代码。
6 将鼠标首先移到代码窗口,单击鼠标左键,然后执行【插入】 【过程】菜单命令。
7 在弹出的【添加过程】对话框中,在名称后面文本框中输入“first”,单击【确定】按钮。
8 在弹出的【代码窗口】中录入文本。
即添加了如下语句:
MsgBox "您好!这是我的第一个VBA小程序"
2.2.2 VBA程序
程序编写完成后,就可以测试一下效果,单击工具栏上的【运行】按钮,此时将显示出运行结果。
提示
也可以直接按快捷键【F5】实现程序运行。
2.3 综合实战—使用VBA的帮助系统
本节视频教学录像:3分钟
大多数用户都不大可能记住VBA所有的对象及其属性、方法和事件,也难以熟悉VBA函数的使用方法。因此获得有效的帮助将有利于代码的编写。在Windows应用程序中提供了在线电子文档的帮助系统,Office中也有这种帮助系统,下面就看一下在VBA中如何使用帮助系统。
当VBA的集成开发环境打开时,按【F1】键,可以弹出帮助对话框。在帮助对话框中输入查找的内容,例如“msgbox”,在对话框的下方会出现与所输入信息相关的内容,用鼠标单击所需查找帮助的内容,即可查找该函数的使用方法。
也可以在VBA的集成开发环境中,单击工具栏上的【帮助】按钮。
或者执行【帮助】➣【Microsoft Visual Basic for Application帮助(H)】菜单命令。