规划 Office 2016 中 VBA 宏的安全设置

总结:说明 Visual Basic for Applications (VBA) 和 VBA 宏设置如何控制 VBA 和 VBA 宏在 Office 2016 中的行为方式。

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

规划 VBA 和 VBA 宏的安全设置

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

  • “更改 VBA 宏的安全警告设置。 这些调整包括禁用 VBA 宏、启用所有 VBA 宏,以及更改通知用户有关 VBA 宏的方式。

  • 阻止 VBA 宏从 Internet 在 Word、Excel、PowerPoint、Access 和 Visio 文件中运行。

  • 禁用 VBA。

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

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

默认情况下启用 VBA,允许运行受信任的 VBA 宏。 在此配置下,允许在特定方案中使用 VBA 宏。 其中包括存储在受信任位置的文档和受信任文档中的宏。 此外,宏必须满足以下使用条件:

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

  • 数字签名有效。

  • 该数字签名没有过期。

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

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

注意

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

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

使用 Office 2016 遥测仪表板查看 VBA 宏使用情况数据

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

仅当配置并部署了 Office 遥测仪表板时,才使用以下过程。 有关 Office 遥测仪表板的信息,请参阅 Office 中的兼容性和遥测

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

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

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

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

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

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

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

Office 2016 提供了一个设置,可用于更改 VBA 宏的安全警告设置和行为。 按照这些准则配置设置,以通知用户不受信任的 VBA 宏。 此方法还有助于更改 VBA 宏的默认行为。

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

  • 描述:此设置控制应用程序如何警告用户Visual Basic for Applications (VBA) 宏。 可以针对Access 2016、Excel 2016、PowerPoint 2016、Publisher 2016、Visio 2016 和Word 2016按应用程序配置此设置。 对于此设置,您可以选择下列四个可能选项之一:

    • 禁用所有通知 应用程序显示所有宏(无论是已签名的还是未签名的)的信任栏。 此设置为默认设置。

    • 禁用除数字签名宏以外的所有宏 应用程序显示数字签名宏的信任栏,使用户能够激活宏或使其保持禁用状态。 任何未签名的宏将保持禁用状态,用户不会收到通知,也无法启用这些未签名的宏。

    • 禁用全部而不通知 应用程序禁用所有宏(无论是已签名的还是未签名的),并且不会通知用户。

    • 启用所有宏 (不建议启用;潜在危险代码可能会运行) 启用所有宏,无论是已签名的还是未签名的。 此选项让危险的代码未经检测即运行,会大幅降低安全性。

  • 影响: 如果启用此设置并选择“ 禁用除数字签名宏以外的所有宏 ”选项,则包含未签名宏的文档和模板将丢失这些宏提供的所有功能。 若要避免功能丢失,用户可以将包含宏的文件放在可信位置。

    重要

    如果选择了“禁用除数字签名宏以外的所有宏”,则用户无法打开未签名Access 2016数据库。

    如果您选择“禁用所有宏,并且不通知”,则包含未签署和已签署宏的文档和模板将丢失这些宏提供的所有功能。 即使对宏进行了签名,并且发布服务器在“受信任的发布者”列表中列出,也会发生这种功能丢失。

  • 指引: 具有高度限制性安全环境的组织通常会启用此设置,并选择“ 禁用除数字签名的宏以外的所有宏 ”选项。 不允许用户运行宏的组织通常会启用此设置,并选择“ 全部禁用而不通知”。

阻止 VBA 宏在 Office 2016 中的 Internet Word、Excel 和 PowerPoint 文件中运行

Office 提供了一个组策略设置,使你能够阻止宏从 Internet 在 Word、Excel 和 PowerPoint 文件中运行。 默认情况下,根据宏警告设置启用 Word、Excel 和 PowerPoint 文件中的宏。 附件执行服务 (AES) 根据添加到文件的区域信息,将文件标识为来自 Internet。 AES 将区域信息添加到使用 Outlook、Internet Explorer 和其他一些应用程序下载的文件。 如果要阻止来自 Internet 的 Word、Excel 和 PowerPoint 文件的宏,请使用以下指南来确定如何配置此设置。

使用 组策略 配置此设置。 没有信任中心等效项。

组策略设置名称:阻止宏从 Internet 在 Office 文件中运行

  • 描述:此设置会阻止 VBA 宏在Excel 2016、PowerPoint 2016和Word 2016 Internet 文件上运行。 可以基于每个应用程序配置此设置。

  • 影响:如果启用此策略设置,则会阻止宏在 Internet 中的文件上运行,即使信任中心的“宏设置”部分选择了“启用所有宏”也是如此。 此外,用户会收到一条通知,指示宏被阻止运行,而不是选择“启用内容”。 如果用户将 Office 文件保存到受信任的位置或以前受信任的位置,则允许运行宏。

  • 指引: 具有高度限制性安全环境但需要将文档与 VBA 宏配合使用的组织通常会启用此设置。 如果组织对使用被认为源自 Internet 且具有 VBA 代码的文档有业务关键要求,请不要启用此设置。

在 Office 2016 中禁用 VBA

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

注意

您只能使用组策略禁用 VBA。 没有信任中心等效项。

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

  • 描述:此设置在 Excel 2016、Outlook 2016、PowerPoint 2016、Publisher 2016、SharePoint Designer 2013 和 Word 2016 中禁用 VBA,并阻止在这些应用程序中运行任何 VBA 代码。 无法基于每个应用程序配置此设置。 这是一个全局设置。 启用此设置不会从用户计算机安装或删除任何与 VBA 相关的代码。

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

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

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

Office 2016 提供了一个设置,使你可以更改 VBA 宏在通过自动化以编程方式启动的应用程序中的行为方式。 默认情况下,当使用单独的程序以编程方式启动Excel 2016、PowerPoint 2016或Word 2016时,任何宏都可以在以编程方式启动的应用程序中运行。 若要执行以下任务,请使用这些准则来确定如何配置此设置:

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

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

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

  • 描述: 此设置控制应用程序在由另一个应用程序以编程方式打开时是否可以运行宏。 此设置是全局设置,适用于Excel 2016、PowerPoint 2016和Word 2016。 无法基于每个应用程序配置此设置。 对于此设置,您可以选择以下三个选项之一:

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

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

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

  • 影响: 如果启用此设置并选择“ 默认禁用宏 ”选项,则宏不会在以编程方式启动的应用程序中。 如果以编程方式启动的应用程序随后打开包含宏的文档或模板,则此限制可能会有问题。 在这种情况下,宏提供的功能不可用。 如果选择“ 使用应用程序宏安全级别 ”选项并使用 VBA 宏警告设置禁用宏,则可能会发生类似的问题。

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

更改在 Office 2016 中扫描加密 VBA 宏以查找病毒的方式

Office 2016 包含一个设置,允许修改防病毒软件扫描Excel 2016、PowerPoint 2016和Word 2016中的加密 VBA 宏的方式。 默认情况下,如果文档、演示文稿或工作簿已加密且包含 VBA 宏,则禁用 VBA 宏,除非客户端计算机上安装有防病毒软件。 此外,当用户打开包含加密宏的文档时,客户端计算机的防病毒软件会扫描加密的 VBA 宏。 若要执行以下任务之一,请使用这些准则来确定如何配置此设置:

  • 将防病毒软件配置为不扫描并允许所有加密的 VBA 宏运行。

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

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

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

    • 扫描默认) (加密的宏 除非防病毒软件扫描了所有加密的 VBA 宏,否则会禁用这些宏。 此选项强制实施默认配置。

    • 扫描防病毒软件是否可用 除非防病毒软件扫描加密的 VBA 宏,否则会禁用这些宏。 不过,如果客户端计算机上未安装防病毒软件,则启用所有加密的 VBA 宏。

    • 在不扫描的情况下加载宏 无论客户端计算机上是否安装了防病毒软件,加密的 VBA 宏都会启用且不会扫描。

  • 影响: 如果启用此设置并选择“ 在不扫描的情况下加载宏 ”选项,则不会扫描病毒的加密宏可能会降低安全性。 如果客户端计算机未安装防病毒软件,并且启用此设置并选择“ 如果防病毒软件可用,则扫描 ”选项也是如此

  • 指引: 大多数组织对此设置使用默认配置,不会更改此设置。

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

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

  • 描述: 此设置确定自动化客户端是否可以访问 VBA 项目。 此设置是每个应用程序的设置,可以单独为Excel 2016、PowerPoint 2016和Word 2016设置。

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

  • 描述: 此设置可防止用户看到消息栏警告,例如有关不安全 VBA 宏的警告。 此全局设置适用于Excel 2016、PowerPoint 2016和Word 2016。 无法基于每个应用程序配置此设置。