- Office VBA从新手到高手
- 龙马高新教育
- 260字
- 2024-12-21 22:06:52
第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 选择【文件】 【选项】菜单命令。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0035_0025.jpg?sign=1739355074-hNYHGj6RQVEIRZzQBTuysHsMmGswmrJM-0-1e72f27414c7c9e1fe9b2e21e7e5e6f0)
2 在弹出的对话框中,首先单击对话框左侧【自定义功能区】选项,然后单击右侧的【自定义功能区】下拉按钮,在【主选项卡】下方内容中单击“开发工具”前的方框,打上“√”。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0035_0026.jpg?sign=1739355074-aeHbAAkQDiafxRaEAdAUmIObzP8j9ndX-0-7a519d3e372e9c25dc4dcee0fb773d81)
这样就完成了VBE的配置,VBE环境选项就出现在Office的菜单上,可以使用下一节介绍的任意一种方法访问VBA开发环境。
提示
如果按照上面的步骤无法配置VBE,推荐将Office组件重新安装,安装的时候选择默认即可。
2.1.2 VBA开发环境
下面同样使用Office组件Excel 2010为例,给出访问VBE环境的方法。
方法一:在【开发工具】功能区中单击【Visual Basic】按钮,即可弹出VBA的开发环境。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0036_0027.jpg?sign=1739355074-L4N7HCYAKsMQ9CRgEjlTLvC0RvrbSy9l-0-703faa08fa4367e631f92b0db8033e95)
方法二:通过快捷组合键【Alt+F11】。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0036_0028.jpg?sign=1739355074-4UZYkq7RMN4S5EpXFaPHNcu9tyzAL6zg-0-78a6bed14fd417adc8c26332f2396384)
提示
编写对于同一程序,例如Excel,不管打开几个Excel文件,所启动的VBA集成开发环境只有一个。
2.1.3 VBA开发环境的组件
上一节已经介绍了访问VBE环境的方法,VBE是Office和VB两种环境的集合体,因此在界面上继承了两个软件的特点。下面以Excel 2010 VBE为例来熟悉一下VBE界面的各个组成部分。
默认情况下,VBA集成开发环境一般包括上方的【菜单栏】和【工具栏】,左侧的上方为【工程资源管理窗口】,左侧下方为【属性窗口】,右侧为【代码窗口】。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0036_0029.jpg?sign=1739355074-YuV8kLGcfSQcnQTKHTLdhz2oq0Xws8zd-0-82e25224592cd046edf95a9c994f961c)
⑴ VBE的【菜单栏】与其他Windows应用程序的菜单栏相似,包含了VBE中的绝大多数命令,用户只需选择对应菜单即可执行对应命令。
⑵ VBE的【工具栏】有5个,分别是“编辑”、“标准”、“快捷菜单”、“调试”和“用户窗体”。默认情况下,标准工具栏显示在菜单栏的下方,可以选择【视图】➣【工具栏】选项进行选择其他工具栏,也可以选择【视图】➣【工具栏】➣【自定义】选项,根据需要新建用户自己的工具栏。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0037_0030.jpg?sign=1739355074-JgojVXi8Rvmjg3kLrY0UPJH3nqiZ6sy4-0-c115faabe84873c2d953486940291ff9)
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0037_0031.jpg?sign=1739355074-D8NoRLTzvlsptLGxXlIrGqwiSESX7HAC-0-d082e07f358616193bb66f9825e420e2)
⑶ 【工程资源管理器】窗口中可以看到所有打开和加载的Excel文件及其加载宏。在VBA中,每一个Excel文件称为一个工程,工程名称为“VBAProject(工作薄1)”,如果同时打开多个文件,则可以同时看到多个工程存在。
对于一个工程,在【工程资源管理器】中最多可以显示工程的4类对象,这4类对象分别如下。
① Microsoft Excel对象。
② 窗体对象。
③ 模块对象。
④ 类模块对象。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0037_0032.jpg?sign=1739355074-DrNlCqwI4v6FTF6zrxQXdPsnHEdvvuJF-0-679cc5068648e620064d6d77b5c1f5db)
这4类对象的作用如下所述。
Microsoft Excel对象是代表了Excel文件及它所包含的工作薄和工作表等几个对象,即包括一个Workbook和所有的Sheet,例如默认情况下,Excel文件包含3个Sheet,则在【工程资源管理器】窗口中就包括3个Sheet,名字分别对应原Excel文件中每个Sheet的名字,ThisWorkbook代表当前Excel文件,双击这些对象,可以打开【代码窗口】,在【代码窗口】中可以输入相关代码,相应工作薄或者文件的某些时间,例如:文件打开、文件关闭等。
① 窗体对象是指所定义的对话框或者界面。在VBA设计中经常会涉及窗体或者对话框的设计,在后面章节中我们将陆续介绍是如何产生的。
② 模块对象是指用户自定义的代码,是所录制的宏所保存的地方。
③ 类模块对象是指以类或者对象的方式编写代码所保存的地方。
④ 这些对象的具体使用方法在后面会进一步地介绍。
但并不是所有工程都包含这4类对象,新建的工程文件就只有一个Microsoft Excel对象。在后期工程编辑过程中,可以根据需要灵活增加和删除对象。对工程名“VBAProject(工作簿1)”单击鼠标右键,在弹出的子菜单中选择【插入】命令,即可选择插入的其他3个对象。类似地也可以将这些对象从工程中导出或者移除,也可以将一个工程中的某一模块用鼠标拖曳到同一个【工程资源管理器】窗口的其他工程中。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0038_0033.jpg?sign=1739355074-pwfEVTw8rgE1EqgVr4fJZr2u0RssQicu-0-0dc5c4c9dbf926b7c2202446eeaaff5e)
⑷ 在【工程资源管理器】窗口下面是【属性窗口】,主要用于对象属性的交互式设计和定义,如下图,是Sheet1对象的属性窗口,通过该窗口,可以更改名称、显示方式等属性。该【属性窗口】的内容随着鼠标点击【工程资源管理器】窗口中不同的对象而变化。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0038_0034.jpg?sign=1739355074-epsc8uSmd4RJau9f8KzA69Ihj4DcGgMq-0-398c4988b79ebb5b5fedfe1945348acc)
⑸ 在【工程资源管理器】窗口中,每个对象都对应一个代码窗口,其中窗体对象不仅有一个代码窗口,还对应一个设计窗口。通过双击【工程资源管理器】窗口中这些对象,可以打开【代码窗口】,在【代码窗口】中可以输入相关代码。在代码窗口的顶部有两个下拉列表,左侧的列表用于选择当前模块中包含的对象,右侧的列表用于选择Sub过程、Function过程或者对象特有的时间过程,选择好这两部分内容后,即可为指定的Sub过程、Function过程或事件过程编辑代码。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0038_0035.jpg?sign=1739355074-HhD9qv29E6P2lXUkUICQ73EqiHYWNWiO-0-af98102ad6e8bd6f6e67ec1e5e4c83f8)
VBE开发环境,除了以上几部分外,常见的还有【立即窗口】。
⑹【立即窗口】在VBE中使用频率相对较少,主要用在程序的调试中,用于显示一些计算公式的计算结果,验证数据的计算结果。在开发过程中,可以在代码中加入Debug.Print语句,这条语句可以在立即窗口中输出内容,用来跟踪程序的执行。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0038_0036.jpg?sign=1739355074-bCogAae5jiT3SHIYXSAqIUL4QDI3wa4X-0-28c91409dabab6ee55ef8f5da1bee393)
可以通过【视图】➣【立即窗口】来设置显示或者隐藏,如下图所示。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0038_0037.jpg?sign=1739355074-So95OJXf3nMqflvOQDANxB8ziF9jVjKh-0-2852e9e9607ea4fafd93f1817025f8ee)
2.1.4 定制VBE环境
通过上面的学习,读者已经对VBE环境有了较为全面的认识。但是按照前面的方法打开的VBE环境是默认的环境,对于Office开发人员来说,在使用VBE进行代码的开发过程中,许多人都有自己的习惯,即对所使用的VBE环境进行某些方面的个性化定制,使得VBE环境适合开发人员自身的习惯。例如:
定制VBE环境可以通过【工具】➣【选项】命令,打开“选项”对话框,如下图所示,该对话框包括4个选项卡,可以通过这些选项卡对VBE环境进行定制。这4个选项卡分别实现以下个性化的环境定制。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0039_0038.jpg?sign=1739355074-abXOhZPGee0Etpyy3ViEazp5mEqlX1Xl-0-166d102ad08afebbd50292d5d45b4a75)
⑴ 【编辑器】选项卡:用于定制代码窗口的基本控制,例如自动语法检测、自动显示快速信息等、设置Tab宽度、编辑时是否可以拖放文本、过程控制符等。
⑵ 【编辑器格式】选项卡:用于设置代码的显示格式,例如代码的显示颜色、字体大小等内容。
⑶ 【通用】选项卡:用于进行VBA的工程设置、错误处理和编译处理。
⑷ 【可连接的】选项卡:用于决定VBA中各窗口的行为方式。
例如,【编辑器】选项卡中“自动语法检测”选项,如果选中该项,在输入一行代码之后,将进行自动检查语法,如果未选中该复选框,VBE通过使用与其他代码不同的颜色来显示语法错误的代码,并且不弹出提示对话框。
当然这些个性化定制因人而宜,开始学习的时候直接按照默认配置即可,不需另行设置,等熟练使用VBE后,再根据个人情况进行个性化配置。
2.1.5 VBE开发环境的退出
使用VBE开发环境完成VBA代码的编辑后,可以选择【文件】➣【关闭并返回到Microsoft Excel】命令,返回到Microsoft Excel 2010操作界面。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0039_0039.jpg?sign=1739355074-NAUzYEa5f7ATk4tk1M9EDPB9io3MN7M0-0-0c1be4a32d8d68f00c4c1c6cfb555461)
也可以使用【Alt+F4】组合键快速关闭VBE窗口,或者单击VBE窗口标题栏右侧的【关闭】按钮,也可快速关闭VBE窗口。
2.2 VBA程序应用实例
本节视频教学录像:4分钟
上一节已经介绍了VBA的集成开发环境,本书后续章节很多例子都是在这个环境进行代码编写的。下面我们先通过一个简单的例子,了解一下如何编写VBA程序。由于我们还没有开始学习VBA的语法,因此就用一个简单的例子看一下如何使用VBE开发环境,这个例子是在VBE环境中加入一个提示对话框,显示提示信息“您好,这是我的第一个VBA小程序”。
2.2.1 从零开始动手编写程序
下面详细给出创建步骤。
1 首先打开一个Excel 2010空文件。
2 执行【开发工具】 【Visual Basic】命令。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0040_0040.jpg?sign=1739355074-bAlktHB9SBccli28BddZEp0gD096Cm6m-0-4d509706227bb242b09db9c2e0ab46c3)
3 即可打开VBA的开发环境。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0040_0041.jpg?sign=1739355074-G0hrZKzkVBMcPjKXyK4GVBwOxdGRXJP4-0-a71e814246c86a7ee752af7845f40491)
4 在【工程资源管理器】窗口工程名“VBAProject(工作簿1)”上单击鼠标右键,在弹出的子菜单中选择【插入】 【模块】命令。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0040_0042.jpg?sign=1739355074-Jq43brx8vJhgocZcGu68ULFjvlRDrkLw-0-f91967d6e0f811349847139506f5a245)
5 此时插入一个模块,可以在其中录入代码。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0040_0043.jpg?sign=1739355074-htnqdag1wZvLsk476e1GjM6azDojPlKc-0-4bf378cfaae87c6ea6242c3383df5ce7)
6 将鼠标首先移到代码窗口,单击鼠标左键,然后执行【插入】 【过程】菜单命令。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0041_0044.jpg?sign=1739355074-uHObUh1lOKtYijybHMAUAjhvopjDtnxg-0-e0afa0b69479b761789ad1de1d79d799)
7 在弹出的【添加过程】对话框中,在名称后面文本框中输入“first”,单击【确定】按钮。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0041_0045.jpg?sign=1739355074-ZgKZE9TyNutMvWWVpxdM8fVQawbscBpa-0-f71e1044e3c404a22a2641935161d414)
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0041_0046.jpg?sign=1739355074-TYL8q29RcT2PPencmZoS312UxaXGeCP9-0-3459d7cf29dffcf33f5a20233c88b290)
8 在弹出的【代码窗口】中录入文本。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0041_0047.jpg?sign=1739355074-Dr3EtE6RsAESozfjL7gNNYK2h5TvAPrC-0-e5110d4a2aa01e800c60809d86e7a2ed)
即添加了如下语句:
MsgBox "您好!这是我的第一个VBA小程序"
2.2.2 VBA程序
程序编写完成后,就可以测试一下效果,单击工具栏上的【运行】按钮,此时将显示出运行结果。
提示
也可以直接按快捷键【F5】实现程序运行。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0041_0048.jpg?sign=1739355074-1r3K2I18GA8c599ZDgEVWPgMQR3yeCX1-0-ad128e0abb9f14f886e2e5ac185780f0)
2.3 综合实战—使用VBA的帮助系统
本节视频教学录像:3分钟
大多数用户都不大可能记住VBA所有的对象及其属性、方法和事件,也难以熟悉VBA函数的使用方法。因此获得有效的帮助将有利于代码的编写。在Windows应用程序中提供了在线电子文档的帮助系统,Office中也有这种帮助系统,下面就看一下在VBA中如何使用帮助系统。
当VBA的集成开发环境打开时,按【F1】键,可以弹出帮助对话框。在帮助对话框中输入查找的内容,例如“msgbox”,在对话框的下方会出现与所输入信息相关的内容,用鼠标单击所需查找帮助的内容,即可查找该函数的使用方法。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0042_0049.jpg?sign=1739355074-paHKaw0qOJjMxFMBJwwz2zP29I4vadDk-0-e53f1de14748c19cd93ff496535f30a5)
也可以在VBA的集成开发环境中,单击工具栏上的【帮助】按钮。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0042_0050.jpg?sign=1739355074-ypFSh3prfXrUIbWpwBjDPnb14xrgkzBs-0-bff335c7511cc250e609d27758ebf458)
或者执行【帮助】➣【Microsoft Visual Basic for Application帮助(H)】菜单命令。
![](https://epubservercos.yuewen.com/4E8DCD/3731468603541401/epubprivate/OEBPS/Images/figure_0043_0051.jpg?sign=1739355074-Mqo6a76kcJv9udFbiRn9YSRzmkT6QeVS-0-04c2c196a0cd7af8f96287ca3e53a1aa)