宏能够使Excel操作自动完成,其实质上是一段自动生成的VBA代码,熟练的开发人员可以使用VBA代码编写功能强大的宏,但宏的存在也会带来潜在的安全隐患。在Excel 2013中,对于VBA代码以及宏的安全性设置都进行了强化,本文将介绍Excel中宏安全性设置的有关技巧。
1、启动Excel并打开包含宏的工作表,打开“Excel选项”对话框,在对话框左侧列表中选择“信任中心”选项,单击右侧的“信任中心设置”按钮打开“信任中心”对话框,在该对话框左侧列表中选择“宏设置”选项,此时即可对宏的运行进行设置,如图1所示。
图1 打开“信任中心”对话框对宏的运行进行设置
提示
如果选择“禁用所有宏,并且不通知”单选按钮,则将禁止在非受信任位置的文档中的宏执行,并且没有任何提示消息;如果选择“禁用所有宏,并发出通知”单选按钮,则用户打开在非受信任位置下包含宏的文档时,将会弹出一个对话框询问用户是否运行该宏;如果选择“禁用无数字签署的所有宏”单选按钮,则将禁止一切没有数字签名宏的运行;如果选择“启用所有宏(不推荐;可能会运行有潜在危险的代码)”单选按钮,则对于所有包含宏的文档不做通知确认直接运行。
2、在“信任中心”对话框中选择“ActiveX设置”选项,此时即可对Office应用程序的ActiveX控件的使用进行设置,如图2所示。
图2 ActiveX设置
提示
当用户不信任任何ActiveX控件时,则选择“禁用所有控件,并且不通知”单选按钮,通常不建议如此设置。“以附加限制启用‘初始化不安全’(UFI)控件,以及以最少限制启用‘初始化安全’(SFI)控件之前提示我”单选按钮根据包含ActiveX控件的文档是否包含VBA项目来确定不同的行为。包含VBA项目时,禁用所有ActiveX控件;不包含VBA项目时,以最小限制启用初始化安全ActiveX控件并禁止初始化不安全ActiveX控件。“以最小限制启用所有控件之前提示我”单选按钮默认为选中状态,它根据包含ActiveX控件的文档是否包含VBA项目来确定不同的行为。
包含VBA项目时,禁用所有ActiveX控件;不包含VBA项目时,以最小限制启用初始化安全ActiveX控件并禁止初始化不安全ActiveX控件。如果要以最小限制启用文档中的所有ActiveX控件,则可选择“无限制启用所有控件并且不进行提示(不推荐;可能会运行有潜在危险的控件)”单选按钮。
3、在“信任中心”对话框中选择“消息栏”选项可对消息栏进行设置,如图3所示。
图3 设置消息栏
提示
默认情况下,“活动内容(如ActiveX控件和宏)被阻止时在所有应用程序中显示消息栏”单选按钮处于选中状态,以便消息栏在可能不安全的内容被禁用时提醒用户。选择“从不显示有关被阻止内容的信息”单选按钮将会禁用消息栏,不管信任中心的安全设置如何,都不会收到有关任何安全问题的警报。