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

 

适用于: Office 365 ProPlus

上一次修改主题: 2016-12-16

摘要 介绍 VBA 和 VBA 宏设置如何控制 Visual Basic for Applications (VBA) 和 VBA 宏在 Office 2013 中的行为方式。

目标用户: IT 专业人员

如果您希望控制 Visual Basic for Applications (VBA) 和 VBA 宏的行为方式,可以更改下列应用程序的 Office 2013 VBA 和 VBA 宏设置:Access 2013、Excel 2013、PowerPoint 2013、Publisher 2013、Visio 2013 和 Word 2013。

引向 Office 安全的路线图箭头。

本文是 Office 2013 安全性指南的一部分。可以使用该指南作为起点来获取可帮助您评估 Office 2013 安全的文章、下载、海报和视频。

您是否要查找有关单独的 Office 2013 应用程序的安全信息?您可以通过在 Office.com 上搜索“2013 安全”来查找此信息。

本文内容:

  • 规划 VBA 和 VBA 宏的安全设置

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

  • 在 Office 2013 中禁用 VBA

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

  • 更改在 Office 2013 中扫描加密 VBA 宏是否有病毒的方式

  • 相关 Office 2013 VBA 宏设置

规划 VBA 和 VBA 宏的安全设置

Office 2013 提供了一些能够让您控制 VBA 和 VBA 宏行为的设置。通过配置这些设置,可以执行下列操作:

  • 更改 VBA 宏的安全警告设置。这包括禁用 VBA 宏、启用所有 VBA 宏以及更改向用户发送 VBA 宏通知的方式。

  • 禁用 VBA。

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

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

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

默认情况下,VBA 为启用状态,且允许可信的 VBA 宏运行。这包括在保存在可信位置的文档中的 VBA 宏、可信文档中的 VBA 宏以及符合下列条件的 VBA 宏:

  • 宏由使用数字签名的开发人员签名。

  • 数字签名有效。

  • 此数字签名是最新的(未过期)。

  • 与数字签名关联的证书由可信证书颁发机构 (CA) 颁发。

  • 为宏签名的开发人员是可信发布者。

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

系统不允许不可信的 VBA 宏运行,除非用户单击消息栏并选择启用该 VBA 宏。

使用 Office 2013 遥控仪表板查看 VBA 宏使用情况数据

通过查看 Office 2013遥测仪表板中的数据,您可以轻松了解组织中 VBA 宏的使用情况。系统内有一个名为“清单”的内置报告,该报告可收集并显示每个受监控 Office 解决方案的唯一实例数据。其中包括 Office 文档是否使用 VBA 宏。

注意注意:
可以使用鼠标、键盘快捷方式或触摸完成所有 Office 2013 套件中的任务。若要了解如何结合使用 Office 产品和服务与键盘快捷方式和触摸,请参阅 Keyboard shortcuts(键盘快捷方式)和 Office 触摸指南

要使用下面的过程,您必须已部署并配置 Office遥测仪表板。有关 Office遥测仪表板的一般信息,请参阅 Office 遥测概述。有关如何部署 Office 遥测的详细信息,请参阅部署遥测仪表板

在 Office 2013 遥测仪表板报告中查看 VBA 宏的使用情况

  1. 打开遥测仪表板并连接到遥测数据库。

  2. 在遥测仪表板的导航窗格中,选择“自定义报告”。

  3. 当“自定义报告”页打开时,选择“创建自定义报告”。

  4. 在“数据透视表字段”列表中的“清单”部分,查找并选择“具有 VBA”。查看报告中是否包含任何与 VBA 相关的警告。如果需要查看更多信息,请选择“清单”表中的其他字段。

  5. 保存所需的数据,然后关闭遥测仪表板。

更改 Office 2013 的 VBA 宏安全警告设置

Office 2013 提供了一个设置,您可以使用该设置更改 VBA 宏的安全警告设置和行为。如果您希望更改向用户发送不可信 VBA 宏通知的方式或更改 VBA 宏的默认行为,可以使用下面的指南确定如何配置此设置。

**组策略设置名称:**VBA 宏通知设置

  • **说明:**此设置控制应用程序向用户发送 Visual Basic for Applications (VBA) 宏警告的方式。您可以每个应用程序为单位为 Access 2013、Excel 2013、PowerPoint 2013、Publisher 2013、Visio 2013 和 Word 2013 配置此设置。对于此设置,您可以选择下列四个可能选项之一:

    •   **禁用所有宏,并发出通知**   应用程序显示所有宏(无论是已签名还是未签名的宏)的信任栏。这是默认设置。
      
    •   **禁用无数字签署的所有宏**   应用程序显示已数字签署的宏的信任栏。这便于用户启用或禁用它们。所有未签署的宏都被禁用,不向用户发送通知或授予启用未签署宏的能力。
      
    •   **禁用所有宏,并且不通知**   应用程序禁用所有宏(无论是已签署还是未签署的宏),且不通知用户。
      
    •   **启用所有宏(不推荐;可能会运行有潜在危险的代码)**  启用所有宏(无论是已签署还是未签署的宏)。此选项让危险的代码未经检测即运行,会大幅降低安全性。
      
  • **影响:**如果您启用此设置并选择“禁用无数字签署的所有宏”选项,则包含未签署宏的文档和模板将丢失这些宏提供的所有功能。若要避免功能丢失,用户可以将包含宏的文件放在可信位置。

<table>
<thead>
<tr class="header">
<th><img src="images/Ff602181.important(Office.15).gif" title="重要说明" alt="重要说明" /><strong>重要说明:</strong></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>如果选择“禁用无数字签署的所有宏”,则用户无法打开未签署的 Access 2013 数据库。</td>
</tr>
</tbody>
</table>

如果您选择“禁用所有宏,并且不通知”,则包含未签署和已签署宏的文档和模板将丢失这些宏提供的所有功能。即使宏已签署且“受信任的发布者”列表中列出了发布者,也是如此。
  • **指南:**具有高度限制性安全环境的组织通常启用此设置,且选择“禁用无数字签署的所有宏”选项。不让用户运行宏的组织通常启用此设置,且选择“禁用所有宏,并且不通知”。

在 Office 2013 中禁用 VBA

Office 2013 提供了一个能够让您禁用 VBA 的组策略设置。默认情况下,启用 VBA。如果想要禁用 VBA,使用下面的指南可确定配置此设置的方式。

注意注意:
您只能使用组策略禁用 VBA。没有等效的信任中心。

**组策略设置名称:**禁用 Office 应用程序的 VBA

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

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

  • **指南:**具有高度限制性安全环境的组织通常启用此设置。

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

Office 2013 提供了一个设置,您可以使用该设置更改 VBA 宏在通过自动化以编程方式启动的应用程序中的行为方式。默认情况下,当使用单独的程序以编程方式启动 Excel 2013、PowerPoint 2013 或 Word 2013 时,任何宏都可以在以编程方式启动的应用程序中运行。如果想要执行下列操作,使用这些指南可确定配置此设置的方式:

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

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

**组策略设置名称:**自动化安全性

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

    •   **默认情况下禁用宏**   在以编程方式打开的应用程序中禁用所有宏。
      
    •   **启用宏(默认)**   允许宏在以编程方式打开的应用程序中运行。此选项强制执行默认配置。
      
    •   **使用应用程序宏安全级别**   根据为每个应用程序配置“VBA 宏警告设置”设置的方式确定宏功能。
      
  • **影响:**如果您启用此设置并选择“默认情况下禁用宏”选项,宏将不会在以编程方式启动的应用程序中运行。这会导致在应用程序以编程方式启动并打开包含宏的文档或模板时出现问题。在这种情况下,宏提供的功能不可用。如果您选择“使用应用程序宏安全级别”选项并使用“使用VBA 宏警告设置”设置禁用宏,则会出现同样的情况。

  • **指南:**大多数组织启用此设置并选择“使用应用程序宏安全级别”选项。但是,具有高度限制性安全环境的组织通常启用此设置并选择“默认情况下禁用宏”选项。

更改在 Office 2013 中扫描加密 VBA 宏是否有病毒的方式

Office 2013 提供了一个设置,您可以使用该设置更改 Excel 2013、PowerPoint 2013 和 Word 2013 中防病毒软件对加密 VBA 宏进行扫描的方式。默认情况下,如果文档、演示文稿或工作簿已加密且包含 VBA 宏,则禁用 VBA 宏,除非客户端计算机上安装有防病毒软件。此外,当用户打开包含加密宏的文档时,客户端计算机的防病毒软件会扫描加密的 VBA 宏。如果想要执行下列操作,使用这些指南可确定配置此设置的方式:

  • 允许所有加密的 VBA 宏在未经防病毒软件扫描的情况下运行。

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

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

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

    •   **扫描加密的宏(默认)**。禁用所有加密的 VBA 宏,除非它们已经过防病毒软件扫描。此选项强制执行默认配置。
      
    •   **防病毒软件可用时扫描**。禁用加密的 VBA 宏,除非它们已经过防病毒软件扫描。不过,如果客户端计算机上未安装防病毒软件,则启用所有加密的 VBA 宏。
      
    •   **加载宏而不扫描**。无论客户端计算机上是否安装防病毒软件,都启用但不扫描加密的 VBA 宏。
      
  • **影响:**如果您启用此设置并选择“加载宏而不扫描”选项,则由于未对加密的宏进行病毒扫描,安全性会严重降低。如果客户端计算机未安装防病毒软件而您启用了此设置并选择“防病毒软件可用时扫描”选项,则也会发生同样的情况。

  • **指南:**大多数组织使用此设置的默认配置,不更改此设置。

相关 Office 2013 VBA 宏设置

另外有两个设置会影响 VBA 宏在 Office 2013 应用程序中的行为方式。如果您因为安全环境特殊而要更改 VBA 宏设置,则可以评估以下设置:

**组策略设置名称:**信任对 Visual Basic 项目的访问

**说明:**此设置确定自动化客户端是否可以访问 VBA 项目。此设置是针对每个应用程序的设置,可以分别为 Excel 2013、PowerPoint 2013 和 Word 2013 进行设置。

**组策略设置名称:**禁用安全问题的所有信任栏通知

**说明:**此设置阻止用户查看消息栏警告,例如有关不安全 VBA 宏的警告。这是应用于 Excel 2013、PowerPoint 2013 和 Word 2013 的全局设置。您不能为每个应用程序配置此设置。

注意注意:
有关组策略的最新信息,请参阅 Office 2013 管理模板文件中包含的 Excel 2013 工作簿 Office2013GroupPolicyAndOCTSettings_Reference.xls。有关详细信息,请参阅 Office 2013 管理模板文件 (ADMX/ADML) 和 Office 自定义工具 Technet 文章。

另请参阅

Office 2013 安全性指南
Office 2013 中的安全概述
了解 Office 2013 的安全威胁和对策
规划 Office 2013 外接程序的安全设置
规划 Office 2013 ActiveX 控件的安全设置