
1.5 Excel中VBA的工作环境
俗话说“工欲善其事,必先利其器”,为了更好地学习和使用VBA,下面将为大家介绍在Excel中VBA的工作环境。
1.5.1 【开发工具】选项卡
利用【开发工具】选项卡提供的相关功能,可以非常方便地使用VBA的相关功能。在Excel的默认设置下,功能区并不显示【开发工具】选项卡。
在功能区中显示【开发工具】选项卡的操作步骤如下。
步骤1 单击【文件】选项卡中的【选项】命令,打开【Excel选项】对话框。
步骤2 在打开的【Excel选项】对话框中切换到【自定义功能区】选项卡。
步骤3 在右侧列表框中选中【开发工具】复选框,单击【确定】按钮,关闭【Excel选项】对话框。
步骤4 此时功能区中即可显示【开发工具】选项卡,如图1-2所示。

图1-2 在功能区中显示【开发工具】选项卡
【开发工具】选项卡中的按钮分为4个组:【代码】组、【加载项】组、【控件】组和【XML】组。【开发工具】选项卡中按钮的功能如表1-1 所示。
表1-1 【开发工具】选项卡中按钮的功能

【XML】组提供了在Excel中操作XML文件的相关功能,使用这部分功能需要具备一定的XML基础知识,读者可以自行查阅相关资料。
【视图】选项卡也提供宏功能按钮,如图1-3所示。

图1-3 【视图】选项卡中的【宏】按钮
1.5.2 状态栏上的按钮
Excel窗口底部的状态栏左侧提供了一个【宏录制】按钮。单击此按钮,将弹出【录制宏】对话框,此时状态栏中的按钮变为【停止录制】按钮,如图1-4所示。

图1-4 状态栏中的【宏录制】按钮和【停止录制】按钮
如果Excel窗口状态栏左侧没有【宏录制】按钮,可以按照下述操作步骤使其显示在状态栏中。
步骤1 在Excel窗口的状态栏上右击,在弹出的快捷菜单中选中【宏录制】。
步骤2 单击Excel窗口中的任意位置关闭快捷菜单。
此时,【宏录制】按钮将显示在状态栏左侧,如图1-5所示。

图1-5 在状态栏中显示【宏录制】按钮
1.5.3 控件
在【开发工具】选项卡【控件】组中单击【插入】下拉按钮,弹出的下拉列表中包括【表单控件】和【ActiveX控件】两部分,如图1-6所示。有关控件的更多介绍,请参阅第8章。

图1-6 【插入】按钮的下拉列表
1.5.4 宏安全性设置
宏在为Excel用户带来极大便利的同时,也带来了潜在的安全风险,这是由于宏的功能非常强大,不但可以控制Excel,还可以控制或运行其他应用程序,此特性可以被用来制作计算机病毒或恶意功能。因此,用户非常有必要了解Excel中的宏安全性设置,合理使用这些设置可以帮助用户有效降低使用宏的安全风险。
步骤1 单击【开发工具】选项卡中的【宏安全性】按钮,打开【信任中心】对话框。
提示
在【文件】选项卡中依次单击【选项】→【信任中心】→【信任中心设置】→【宏设置】,也可以打开【信任中心】对话框。
步骤2 在【宏设置】选项卡中选中【通过通知禁用VBA宏】单选按钮。
提示
在Excel早期版本中,此选项为【禁用所有宏,并发出通知】,二者含义相同,只是中文翻译略有不同。
步骤3 单击【确定】按钮关闭【信任中心】对话框,如图1-7所示。

图1-7 【信任中心】对话框中的【宏设置】选项卡
一般情况下,推荐使用【通过通知禁用VBA宏】选项。启用该选项后,打开保存在非受信任位置的包含宏的工作簿时,Excel功能区下方将显示【安全风险】消息栏,告知用户工作簿中的宏已经被禁用。
为了提高Office的安全性,如果包含VBA宏代码的Office文件来自互联网,微软将默认阻止该文件中的宏运行,用户每次打开文件时都将显示如图1-8所示的【安全风险】消息栏。

图1-8 【安全风险】消息栏
按照如下操作步骤修改文件属性,可以避免打开该文件时出现【安全风险】消息栏。
在Windows的文件资源管理器中找到相应Excel文件,右击文件弹出快捷菜单,选择【属性】命令,在打开的文件属性对话框中选中【解除锁定】复选框,单击【确定】按钮关闭文件属性对话框,如图1-9所示。

图1-9 修改文件属性解除锁定
1.5.5 文件格式
Microsoft Office从2007版本开始支持使用Office Open XML格式的文件,Excel中除了可以使用*.xls、*.xla和*.xlt兼容格式之外,还支持更多的存储格式,如*.xlsx、*.xlsm等。在众多的Office Open XML文件格式之中,二进制工作簿和扩展名以字母“m”结尾的文件格式才可以用于保存VBA代码和Microsoft Excel 4.0宏工作表。
可以用于保存VBA代码的文件类型如表1-2所示。
表1-2 可保存VBA代码的文件类型

提示
在Excel 365和Excel 2021中为了兼容Excel 2003或更早版本而保留的文件格式(*.xls、*.xla和*.xlt)仍然可以用于保存VBA代码和Microsoft Excel 4.0宏工作表。
1.5.6 启用工作簿中的宏
在宏安全性设置中选中【通过通知禁用VBA宏】选项后,打开包含宏代码的工作簿时,功能区下方将出现如图1-10所示的【安全警告】消息栏。如果用户信任该文件的来源,单击【安全警告】消息栏中的【启用内容】按钮,【安全警告】消息栏将自动关闭。此时,工作簿的宏功能已经被启用,用户可以运行工作簿中的宏代码。

图1-10 启用工作簿中的宏
注意
Excel窗口中出现【安全警告】消息栏时,用户的某些操作(如添加一个新的工作表)将导致该消息栏自动关闭,此时Excel已经禁用了工作簿中的宏功能。在此之后,如果用户希望运行该工作簿中的宏代码,只能先关闭该工作簿,然后再次打开该工作簿,并单击【安全警告】消息栏中的【启用内容】按钮启用宏。
经过上述操作之后,该文件将成为受信任的文件。在Excel中再次打开该文件时,将不再显示【安全警告】消息栏。值得注意的是,Excel的这个“智能”功能可能会给用户带来潜在的危害。如果有恶意代码被人为地添加到这些受信任的文件中,并且原有文件名保持不变,那么当用户再次打开该文件时将不会出现任何安全警告,而会直接激活其中包含恶意代码的宏,这将对计算机安全造成危害。因此,如果需要进一步提高文件的安全性,可以考虑为文件添加数字签名和证书,或按照如下步骤禁用“受信任的文档”功能。
步骤1 单击【开发工具】选项卡中的【宏安全性】按钮,打开【信任中心】对话框,切换到【受信任的文档】选项卡。
步骤2 选中【禁用受信任的文档】复选框。
步骤3 单击【确定】按钮关闭对话框,如图1-11所示。

图1-11 【信任中心】对话框中的【受信任的文档】选项卡
提示
“受信任的文档”是从Excel 2010开始新增的功能,更早版本的Excel不支持此功能。
有关为VBA代码添加数字签名和证书的内容,请自行参阅其他资料。
如果用户在打开包含宏代码的工作簿之前已经打开了VBA编辑窗口,那么Excel将直接显示如图1-12所示的【Microsoft Excel 安全声明】对话框,用户可以单击【启用宏】按钮启用工作簿中的宏。

图1-12 【Microsoft Excel安全声明】对话框
1.5.7 受信任位置
打开任何包含宏的工作簿都需要手动启用宏,这个设置虽然提高了安全性,但也造成了很多不便。利用 “受信任位置”功能可以在不修改安全性设置的前提下,方便快捷地打开工作簿并启用宏。操作步骤如下。
步骤1 打开【信任中心】对话框。
步骤2 切换到【受信任位置】选项卡,在右侧窗口中单击【添加新位置】按钮。
步骤3 在弹出的【Microsoft Office受信任位置】对话框中输入路径(如C:\Demo),或者单击【浏览】按钮选择要添加的路径。
步骤4 选中【同时信任此位置的子文件夹】复选框。
步骤5 在【描述】文本框中输入说明信息,此步骤可以省略。
步骤6 单击【确定】按钮关闭对话框,如图1-13所示。

图1-13 自定义受信任位置
步骤7 返回【信任中心】对话框,在右侧列表框中可以看到新添加的受信任位置,单击【确定】按钮关闭对话框,如图1-14所示。
此后打开保存于受信任位置(C:\Demo)中的任何包含宏的工作簿时,Excel将自动启用宏,而不再显示【安全警告】消息栏。
注意
如果在如图1-14所示的【信任中心】对话框的【受信任位置】选项卡中选中【禁用所有受信任位置】复选框,那么所有的受信任位置都将失效。

图1-14 用户自定义的受信任位置