规划 Office 2010 的 VBA 宏的安全设置

 

适用于: Office 2010

上一次修改主题: 2016-11-29

如果要控制 Visual Basic for Applications (VBA) 和 VBA 宏的行为方式,可以修改以下应用程序的 Microsoft Office 2010 VBA 和 VBA 宏设置:Microsoft Access 2010、Microsoft Excel 2010、Microsoft PowerPoint 2010、Microsoft Publisher 2010、Microsoft Visio 2010 和 Microsoft Word 2010。

本文内容:

  • 关于规划 VBA 宏设置

  • 更改 VBA 宏的安全警告设置

  • 禁用 VBA

  • 更改 VBA 宏在以编程方式启动的应用程序中的行为方式

  • 更改对加密 VBA 宏执行病毒扫描的方式

  • 相关 VBA 宏设置

关于规划 VBA 和 VBA 宏设置

Office 2010 提供了一些用于控制 VBA 和 VBA 宏的行为的设置。通过配置这些设置,可以执行下列操作:

  • 更改 VBA 宏的安全警告设置。这包括禁用 VBA 宏、启用所有 VBA 宏和更改将 VBA 宏信息通知给用户的方式。

  • 禁用 VBA。

  • 更改 VBA 宏在通过自动化以编程方式启动的应用程序中的行为方式。

  • 更改防病毒软件扫描加密 VBA 宏的方式。

有关如何在 Office 自定义工具 (OCT) 和 Office 2010 管理模板中配置安全设置的信息,请参阅为 Office 2010 配置安全性

默认情况下将启用 VBA 并且允许受信任 VBA 宏运行。这包括保存在受信任位置的文档中的 VBA 宏、受信任文档中的 VBA 宏,以及满足下列条件的 VBA 宏:

  • 开发人员已使用数字签名对这个宏进行了签名。

  • 该数字签名有效。

  • 该数字签名没有过期。

  • 与该数字签名关联的证书是由信誉良好的证书颁发机构 (CA) 颁发的。

  • 对宏进行签名的开发人员是受信任的发布者。

备注

在 Microsoft Outlook 2010 中,宏的默认安全设置有所不同。有关详细信息,请参阅 Outlook 2010 安全文档。

在用户单击消息栏并选择启用 VBA 宏之前,不允许运行不受信任的 VBA 宏。

更改 VBA 宏的安全警告设置

Office 2010 提供了相关设置,允许您更改 VBA 宏的安全警告设置和行为。使用以下准则可以确定要更改将不受信任的 VBA 宏信息通知给用户的方式或者更改 VBA 宏的默认行为时如何配置此设置。

**设置名称:**VBA 宏通知设置


  • **说明:**此设置控制应用程序如何将 Visual Basic for Applications (VBA) 宏信息通知给用户。可以基于每个应用程序分别为 Access 2010、Excel 2010、PowerPoint 2010、Publisher 2010、Visio 2010 和 Word 2010 配置此设置。可以为此设置选择以下四个可能的选项之一:


    • **禁用所有宏,并发出通知:**应用程序对所有宏都显示信任栏,无论是已签署的宏还是未签署的宏。这是默认设置。


    • **禁用无数字签署的所有宏:**应用程序对数字签名的宏显示信任栏。这样用户就可以选择是启用还是禁用这些宏。任何未签署的宏都会被禁用,用户不会收到相关通知,也无法启用未签署的宏。


    • **禁用所有宏,并且不通知:**应用程序将禁用所有宏,无论是已签署的宏还是未签署的宏,并且用户不会收到相关通知。


    • **启用所有宏(不推荐):**启用所有宏,无论是已签署的宏还是未签署的宏。此选项使危险代码不经过检测便可运行,因此大大降低了安全性。


  • **影响:**如果启用此设置并选择“禁用无数字签署的所有宏”选项,则包含未签署宏的文档和模板会丧失这些宏提供的所有功能。要防止因此而丧失功能,用户可以将包含宏的文件存储在受信任的位置。

    重要

    如果选择“禁用无数字签署的所有宏”,则用户无法打开未签署的 Access 2010 数据库。

    如果选择“禁用所有宏,并且不通知”,则包含未签署和已签署宏的文档和模板会丧失这些宏提供的所有功能,即使宏已签署并且发布者位于“受信任的发布者”列表中也是如此。


  • **准则:**位于限制性较强的安全环境中的组织通常启用此设置,并选择“禁用无数字签署的所有宏”选项。不允许用户运行宏的组织通常启用此设置并选择“禁用所有宏,并且不通知”。

禁用 VBA

Office 2010 提供了相关设置,允许您禁用 VBA。默认情况下将启用 VBA。使用以下准则可以确定要禁用 VBA 时如何配置此设置。

**设置名称:**禁用 VBA for Office Applications


  • **说明:**此设置在 Excel 2010、Microsoft Outlook 2010、PowerPoint 2010、Publisher 2010、Microsoft SharePoint Designer 2010 和 Word 2010 中禁用 VBA,并禁止在这些应用程序中运行任何 VBA 代码。不能基于每个应用程序配置此设置。此设置为全局设置。启用此设置不会从用户的计算机中安装或删除任何与 VBA 相关的代码。


  • **影响:**如果启用此设置,则 VBA 代码将不能运行。如果组织对使用包含 VBA 代码的文档具有关键业务要求,请不要启用此设置。


  • **准则:**具有限制性较强的安全环境的组织通常应启用此设置。

更改 VBA 宏在以编程方式启动的应用程序中的行为方式

Office 2010 提供了相关设置,允许您更改 VBA 宏在通过自动化以编程方式启动的应用程序中的行为方式。默认情况下,如果使用独立程序以编程方式启动 Excel 2010、PowerPoint 2010 或 Word 2010,则任何宏都可以在以编程方式启动的应用程序中运行。使用这些准则可以确定要执行以下操作时如何配置此设置:

  • 禁止宏在通过自动化以编程方式启动的应用程序中运行。

  • 允许 VBA 宏根据为通过自动化以编程方式启动的应用程序配置的 VBA 宏安全设置运行。

**设置名称:**自动化安全


  • **说明:**此设置控制宏是否可以在由另一应用程序以编程方式打开的应用程序中运行。此设置为全局设置,适用于 Excel 2010、PowerPoint 2010 和 Word 2010。不能基于每个应用程序配置此设置。可以为此设置选择三个可能的选项之一:


    • **默认情况下禁用宏:**在以编程方式打开的应用程序中禁用所有宏。


    • **启用宏(默认):**允许宏在以编程方式打开的应用程序中运行。此选项强制实施默认配置。


    • **使用应用程序宏安全级别:**根据为每个应用程序配置“VBA 宏警告设置”设置的方式确定宏功能。


  • **影响:**如果启用此设置并选择“默认情况下禁用宏”选项,则宏将不会在以编程方式启动的应用程序中运行。这在应用程序以编程方式启动后打开包含宏的文档或模板时,可能会成为问题。在这种情况下,宏提供的功能不可用。如果选择“使用应用程序宏安全级别”选项,并且使用“VBA 宏警告设置”设置禁用了宏,则可能会出现同样的情况。


  • **准则:**大多数组织启用此设置并选择“使用应用程序宏安全级别”选项。不过,具有限制性较强的安全环境的组织通常启用此设置并选择“默认情况下禁用宏”选项。

更改对加密 VBA 宏执行病毒扫描的方式

Office 2010 在 Excel 2010、PowerPoint 2010 和 Word 2010 中提供了相关设置,允许您修改防病毒软件扫描加密 VBA 宏的方式。默认情况下,如果文档、演示文稿或工作簿已经加密并且包含 VBA 宏,那么,除非在客户端计算机上安装了防病毒程序,否则将会禁用 VBA 宏。此外,在用户打开包含加密宏的文档时,客户端计算机的防病毒程序会扫描加密 VBA 宏。使用这些准则可以确定要执行以下操作时如何配置此设置:

  • 允许不执行防病毒程序扫描即运行所有加密 VBA 宏。

  • 如果安装了防病毒程序,则扫描加密 VBA 宏;但是如果未安装防病毒程序,则启用加密 VBA 宏。

**设置名称:**在 Excel Open XML 文档中扫描加密的宏、在 PowerPoint Open XML 文档中扫描加密的宏、在 Word Open XML 文档中扫描加密的宏


  • **说明:**此设置控制对加密的 VBA 宏执行病毒扫描的方式。此设置是基于每个应用程序的设置,可以分别为 Excel 2010、PowerPoint 2010 和 Word 2010 进行配置。可以为此设置选择三个可能的选项之一:


    • 扫描加密的宏(默认)。禁用所有加密的 VBA 宏(除非防病毒程序对这些宏进行扫描)。此选项强制实施默认配置。


    • 防病毒软件可用时进行扫描。禁用加密的 VBA 宏(除非防病毒程序对这些宏进行扫描)。不过,如果客户端计算机上未安装防病毒程序,则启用所有加密的 VBA 宏。


    • **加载宏而不扫描:**启用加密的 VBA 宏,并且不进行扫描,无论客户端计算机上是否安装了防病毒程序。


  • **影响:**如果启用此设置并选择“加载宏而不扫描”选项,则未经过病毒扫描的加密宏会导致安全性大大降低。在客户端计算机未安装防病毒程序的情况下,如果启用了此设置并选择了“防病毒软件可用时进行扫描”选项,也会出现这种情况。


  • **准则:**大多数组织可使用此设置的默认配置而无需更改此设置。

相关 VBA 宏设置

一些其他设置也会影响 VBA 宏在 Office 2010 应用程序中的行为方式。如果因具有特殊安全环境而需要修改 VBA 宏设置,可能要评估以下设置:


  • 信任对 VBA 项目的访问

    此设置确定自动化客户端是否可以访问 VBA 项目。


  • 禁用所有关于安全问题的信任栏通知

    此设置禁止向用户显示消息栏警告,包括有关不安全 VBA 宏的警告。

备注

有关策略设置的最新信息,请参考 Microsoft Excel 2010 工作簿 Office2010GroupPolicyAndOCTSettings_Reference.xls,可从 Office 2010 管理模板文件(ADM、ADMX、ADML)和 Office 自定义工具(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=189316&clcid=0x804)(该链接可能指向英文页面) 下载页上的“此下载中的文件”部分获得该工作簿。