启用或禁用 Office 文档中的宏

本文提供有关宏安全性的信息,同时介绍启用宏所带来的风险,以及如何利用 2007 Microsoft Office system 中的信任中心帮助减轻这些风险。

Office 2010 中的新增功能

Office 博客(英文)

本文内容


什么是宏?什么是安全风险?

宏自动执行常用任务;许多宏是使用 VBA (Visual Basic for Applications (VBA):Microsoft Visual Basic 的宏语言版本,用于编写基于 Microsoft Windows 的应用程序,内置于多个 Microsoft 程序中。) 创建的,并由软件开发人员编写的。但是,一些 VBA 宏会引起潜在的安全风险。具有恶意企图的人员可以通过文档或文件引入恶意宏,该文档或文件可能在计算机上传播病毒 (病毒:一种计算机程序或宏,通过在计算机文件中插入自身的副本而“感染”这些文件。感染文件被装入内存后,病毒还要感染其他文件。病毒通常带有有害的副作用。)

返回页首 返回页首

使用信任中心启用或禁用宏

宏安全设置位于信任中心。但是,如果您在某个单位工作,您的系统管理员可能已经更改了默认设置,以防止任何人更改任何设置。

 注释   在信任中心更改宏设置时,仅针对当前正在使用的 Office 程序更改宏设置, 而不是针对所有 Office 程序更改宏设置。

您正在使用哪个 程序?


Access

  1. 单击“Office 按钮按钮图像 ,然后单击“Access 选项”。
  2. 依次单击“信任中心”、“信任中心设置”和“宏设置”。
  3. 单击所需的选项:
    • 禁用所有宏,并且不通知 如果您不信任宏,请单击此选项。此时,将禁用文档中的所有宏以及有关宏的安全警告。如果有些文档包含的未签名宏是您确实信任的,则可以将这些文档放入添加、删除或修改文件的受信任位置。受信任位置中的文档无需经过信任中心安全系统的检查便可运行。
    • 禁用所有宏,并发出通知 这是默认设置。如果您希望禁用宏,但又希望存在宏时收到安全警告,请单击此选项。这样,您就可以选择在各种情况下启用这些宏的时间。
    • 禁用无数字签署的所有宏 除了宏由受信任的发布者进行数字签名的情况,此设置与“禁用所有宏,并发出通知”选项相同,如果您信任发布者,宏就可以运行。如果您不信任该发布者,您就会收到通知。这样,您便可以选择启用那些已签名宏或信任发布者。将禁用所有未签名的宏,并且不发出通知。
    • 启用所有宏(不推荐,可能会运行有潜在危险的代码 单击此选项可允许所有宏运行。此设置会使您的计算机容易受到潜在恶意代码的攻击,因此不建议使用此设置。

返回页首 返回页首

Excel

  1. 单击“Office 按钮”按钮图像 ,然后单击“Excel 选项”
  2. 依次单击“信任中心”、“信任中心设置”和“宏设置”。
  3. 单击所需的选项:
    • 禁用所有宏,并且不通知 如果您不信任宏,请单击此选项。此时,将禁用文档中的所有宏以及有关宏的安全警告。如果有些文档包含的未签名宏是您确实信任的,则可以将这些文档放入添加、删除或修改文件的受信任位置。受信任位置中的文档无需经过信任中心安全系统的检查便可运行。
    • 禁用所有宏,并发出通知 这是默认设置。如果您希望禁用宏,但又希望存在宏时收到安全警告,请单击此选项。这样,您就可以选择在各种情况下启用这些宏的时间。
    • 禁用无数字签署的所有宏 除了宏由受信任的发布者进行数字签名的情况,此设置与“禁用所有宏,并发出通知”选项相同,如果您信任发布者,宏就可以运行。如果您不信任该发布者,您就会收到通知。这样,您便可以选择启用那些已签名宏或信任发布者。将禁用所有未签名的宏,并且不发出通知。
    • 启用所有宏(不推荐,可能会运行有潜在危险的代码 单击此选项可允许所有宏运行。此设置会使您的计算机容易受到潜在恶意代码的攻击,因此不建议使用此设置。
    • 信任对 VBA 工程对象模型的访问    此设置供开发人员使用,专门用于禁止或允许任何自动化客户端以编程方式访问 VBA 对象模型。换句话说,它为编写用于自动执行 Office 程序以及以编程方式操作 Microsoft Visual Basic for Applications (VBA) 环境和对象模型的代码提供了一种安全选项。此设置因每个用户和应用程序而异,默认情况下拒绝访问。通过此安全选项,未授权程序很难生成损害最终用户系统的“自我复制”代码。要使任何自动化客户端能够以编程方式访问 VBA 对象模型,运行该代码的用户必须显式授予访问权。要启用访问,请选中该复选框。

 提示   您可以从功能区的“开发工具”选项卡中打开宏安全设置对话框,它是 Microsoft Office Fluent 用户界面 的一部分。如果“开发工具”选项卡不可用,请单击“Office 按钮按钮图像 ,然后单击“Excel 选项”。单击“常用”,然后选中“在功能区显示‘开发工具’选项卡”复选框。

返回页首 返回页首

Outlook

  1. 在“工具”菜单上,单击“信任中心”。
  2. 单击“宏设置”。
  3. 单击所需的选项:
    • 不提供警告,禁用所有宏 如果您不信任宏,请单击此选项。此时,将禁用所有宏以及有关宏的安全警告。
    • 为签署的宏提供警告;禁用所有未经签署的宏 这是默认设置。除了宏由受信任的发布者进行数字签名的情况,此设置与“禁用所有宏,并发出通知”选项相同,如果您信任发布者,宏就可以运行。如果您不信任该发布者,您就会收到通知。这样,您便可以选择启用那些已签名宏或信任发布者。将禁用所有未签名的宏,并且不发出通知。
    • 为所有宏提供警告 如果您希望禁用宏,但又希望存在宏时收到安全警告,请单击此选项。这样,您就可以选择在各种情况下启用这些宏的时间。
    • 不执行宏安全性检查(不推荐) 单击此选项可允许所有宏运行。此设置会使您的计算机容易受到潜在恶意代码的攻击,因此不建议使用此设置。

返回页首 返回页首

PowerPoint

  1. 单击“Office 按钮”按钮图像 ,然后单击“PowerPoint 选项”
  2. 依次单击“信任中心”、“信任中心设置”和“宏设置”。
  3. 单击所需的选项:
    • 禁用所有宏,并且不通知 如果您不信任宏,请单击此选项。此时,将禁用文档中的所有宏以及有关宏的安全警告。如果有些文档包含的未签名宏是您确实信任的,则可以将这些文档放入添加、删除或修改文件的受信任位置。受信任位置中的文档无需经过信任中心安全系统的检查便可运行。
    • 禁用所有宏,并发出通知 这是默认设置。如果您希望禁用宏,但又希望存在宏时收到安全警告,请单击此选项。这样,您就可以选择在各种情况下启用这些宏的时间。
    • 禁用无数字签署的所有宏 除了宏由受信任的发布者进行数字签名的情况,此设置与“禁用所有宏,并发出通知”选项相同,如果您信任发布者,宏就可以运行。如果您不信任该发布者,您就会收到通知。这样,您便可以选择启用那些已签名宏或信任发布者。将禁用所有未签名的宏,并且不发出通知。
    • 启用所有宏(不推荐,可能会运行有潜在危险的代码 单击此选项可允许所有宏运行。此设置会使您的计算机容易受到潜在恶意代码的攻击,因此不建议使用此设置。
    • 信任对 VBA 工程对象模型的访问    此设置供开发人员使用,专门用于禁止或允许任何自动化客户端以编程方式访问 VBA 对象模型。换句话说,它为编写用于自动执行 Office 程序以及以编程方式操作 Microsoft Visual Basic for Applications (VBA) 环境和对象模型的代码提供了一种安全选项。此设置因每个用户和应用程序而异,默认情况下拒绝访问。通过此安全选项,未授权程序很难生成损害最终用户系统的“自我复制”代码。要使任何自动化客户端能够以编程方式访问 VBA 对象模型,运行该代码的用户必须显式授予访问权。要启用访问,请选中该复选框。

 提示   您可以从功能区的“开发工具”选项卡中打开宏安全设置对话框,它是 Microsoft Office Fluent 用户界面 的一部分。如果“开发工具”选项卡不可用,请单击“Office 按钮按钮图像 ,然后单击“PowerPoint 选项”。单击“常用”,然后选中“在功能区显示‘开发工具’选项卡”复选框。

返回页首 返回页首

Publisher

  1. 在“工具”菜单上,单击“信任中心”。
  2. 单击“宏设置”。
  3. 单击所需的选项:
    • 禁用所有宏,并且不通知 如果您不信任宏,请单击此选项。此时,将禁用文档中的所有宏以及有关宏的安全警告。如果有些文档包含的未签名宏是您确实信任的,则可以将这些文档放入添加、删除或修改文件的受信任位置。受信任位置中的文档无需经过信任中心安全系统的检查便可运行。
    • 禁用所有宏,并发出通知 这是默认设置。如果您希望禁用宏,但又希望存在宏时收到安全警告,请单击此选项。这样,您就可以选择在各种情况下启用这些宏的时间。
    • 禁用无数字签署的所有宏 除了宏由受信任的发布者进行数字签名的情况,此设置与“禁用所有宏,并发出通知”选项相同,如果您信任发布者,宏就可以运行。如果您不信任该发布者,您就会收到通知。这样,您便可以选择启用那些已签名宏或信任发布者。将禁用所有未签名的宏,并且不发出通知。
    • 启用所有宏(不推荐,可能会运行有潜在危险的代码 单击此选项可允许所有宏运行。此设置会使您的计算机容易受到潜在恶意代码的攻击,因此不建议使用此设置。
    • 信任对 VBA 工程对象模型的访问    此设置供开发人员使用,专门用于禁止或允许任何自动化客户端以编程方式访问 VBA 对象模型。换句话说,它为编写用于自动执行 Office 程序以及以编程方式操作 Microsoft Visual Basic for Applications (VBA) 环境和对象模型的代码提供了一种安全选项。此设置因每个用户和应用程序而异,默认情况下拒绝访问。通过此安全选项,未授权程序很难生成损害最终用户系统的“自我复制”代码。要使任何自动化客户端能够以编程方式访问 VBA 对象模型,运行该代码的用户必须显式授予访问权。要启用访问,请选中该复选框。

返回页首 返回页首

Visio

  1. 在“工具”菜单上,单击“信任中心”。
  2. 单击“宏设置”。
  3. 单击所需的选项:
    • 禁用所有宏,并且不通知 如果您不信任宏,请单击此选项。此时,将禁用文档中的所有宏以及有关宏的安全警告。如果有些文档包含的未签名宏是您确实信任的,则可以将这些文档放入添加、删除或修改文件的受信任位置。受信任位置中的文档无需经过信任中心安全系统的检查便可运行。
    • 禁用所有宏,并发出通知 这是默认设置。如果您希望禁用宏,但又希望存在宏时收到安全警告,请单击此选项。这样,您就可以选择在各种情况下启用这些宏的时间。
    • 禁用无数字签署的所有宏 除了宏由受信任的发布者进行数字签名的情况,此设置与“禁用所有宏,并发出通知”选项相同,如果您信任发布者,宏就可以运行。如果您不信任该发布者,您就会收到通知。这样,您便可以选择启用那些已签名宏或信任发布者。将禁用所有未签名的宏,并且不发出通知。
    • 启用所有宏(不推荐,可能会运行有潜在危险的代码 单击此选项可允许所有宏运行。此设置会使您的计算机容易受到潜在恶意代码的攻击,因此不建议使用此设置。
    • 信任对 VBA 工程对象模型的访问    此设置供开发人员使用,专门用于禁止或允许任何自动化客户端以编程方式访问 VBA 对象模型。换句话说,它为编写用于自动执行 Office 程序以及以编程方式操作 Microsoft Visual Basic for Applications (VBA) 环境和对象模型的代码提供了一种安全选项。此设置因每个用户和应用程序而异,默认情况下拒绝访问。通过此安全选项,未授权程序很难生成损害最终用户系统的“自我复制”代码。要使任何自动化客户端能够以编程方式访问 VBA 对象模型,运行该代码的用户必须显式授予访问权。要启用访问,请选中该复选框。

返回页首 返回页首

Word

  1. 单击“Office 按钮”按钮图像 ,然后单击“Word 选项”
  2. 依次单击“信任中心”、“信任中心设置”和“宏设置”。
  3. 单击所需的选项:
    • 禁用所有宏,并且不通知 如果您不信任宏,请单击此选项。此时,将禁用文档中的所有宏以及有关宏的安全警告。如果有些文档包含的未签名宏是您确实信任的,则可以将这些文档放入添加、删除或修改文件的受信任位置。受信任位置中的文档无需经过信任中心安全系统的检查便可运行。
    • 禁用所有宏,并发出通知 这是默认设置。如果您希望禁用宏,但又希望存在宏时收到安全警告,请单击此选项。这样,您就可以选择在各种情况下启用这些宏的时间。
    • 禁用无数字签署的所有宏 除了宏由受信任的发布者进行数字签名的情况,此设置与“禁用所有宏,并发出通知”选项相同,如果您信任发布者,宏就可以运行。如果您不信任该发布者,您就会收到通知。这样,您便可以选择启用那些已签名宏或信任发布者。将禁用所有未签名的宏,并且不发出通知。
    • 启用所有宏(不推荐,可能会运行有潜在危险的代码 单击此选项可允许所有宏运行。此设置会使您的计算机容易受到潜在恶意代码的攻击,因此不建议使用此设置。
    • 信任对 VBA 工程对象模型的访问    此设置供开发人员使用,专门用于禁止或允许任何自动化客户端以编程方式访问 VBA 对象模型。换句话说,它为编写用于自动执行 Office 程序以及以编程方式操作 Microsoft Visual Basic for Applications (VBA) 环境和对象模型的代码提供了一种安全选项。此设置因每个用户和应用程序而异,默认情况下拒绝访问。通过此安全选项,未授权程序很难生成损害最终用户系统的“自我复制”代码。要使任何自动化客户端能够以编程方式访问 VBA 对象模型,运行该代码的用户必须显式授予访问权。要启用访问,请选中该复选框。

 提示   您可以从功能区的“开发工具”选项卡中打开宏安全设置对话框,它是 Microsoft Office Fluent 用户界面 的一部分。如果“开发工具”选项卡不可用,请单击“Office 按钮按钮图像 ,然后单击“Word 选项”。单击“常用”,然后选中“在功能区显示‘开发工具’选项卡”复选框。

返回页首 返回页首

信任中心如何帮助我抵御不安全的宏?

在文档中启用宏之前,信任中心检查以下信息:

如果信任中心检测到以上任何一项出现问题,默认情况下将禁用该宏,消息栏将出现以通知您存在可能不安全的宏。

文档操作栏

要启用宏,请单击消息栏上的“选项”,此时会打开一个安全对话框。有关做出有关宏和安全的决策的信息,请参阅下一节。

 注释   在 Microsoft Office Outlook 2007 和 Microsoft Office Publisher 2007 中,安全警报出现在对话框中,而不是消息栏中。

返回页首 返回页首

安全警告询问我启用还是禁用宏。我该怎么办?

当出现“安全选项”对话框时,您可以启用宏或保留其禁用状态。如果确定宏来自可信来源,则应启用宏。

Microsoft Office 安全选项

 要点   如果您确定文档和宏来源可靠并具有有效的签名,并且不希望再次收到有关该文档和宏的通知,则可以在安全性对话框中单击“信任来自此发布者的所有文档”,而不要将信任中心默认设置更改为安全级别较低的宏安全设置。这样便可将该发布者添加到信任中心的受信任发布者列表中。来自该发布者的所有软件都是可信任的。如果该宏不具有有效签名,但您信任该宏且不希望再次收到通知,请不要将信任中心默认设置更改为安全级别较低的宏安全设置,最好将文档移动到一个受信任位置。受信任位置中的文档无需经过信任中心安全系统的检查便可运行。

根据情况的不同,安全性对话框可描述特定的问题。下表列出了可能出现的问题,并对您在各种情况下应采取或不应采取的措施给出了建议。

问题 建议
宏未签名    因为该宏尚未经过数字签名,所以无法验证宏发布者的身份。因此无法确定该宏是否安全。 在启用未签名的宏以前,请确保宏的来源可靠。即使您不启用宏,您仍可以在文档中执行操作。
宏签名不受信任    因为宏已经过数字签名但该签名无效,并且您没有选择信任对该宏进行签名的发布者,所以该宏可能是不安全的。 可以通过单击安全性对话框中的“信任来自此发布者的所有文档”显式信任 (信任:表示您是否信任证书颁发的受体(个人或组)。默认设置是“继承颁发者的信任关系”,也就是因为对颁发者(通常是证书颁发机构)的信任而信任证书。)该宏的发布者。仅当签名有效时才显示此选项。单击此选项会将该发布者添加到信任中心的受信任发布者列表中。
宏签名无效    因为该宏已经过数字签名但该签名无效,所以该宏可能是不安全的。 建议您不要启用签名无效的宏。签名无效的原因可能是该签名已被篡改。有关详细信息,请参阅如何判断数字签名是否可信
宏签名已过期    因为宏已经过数字签名但该签名已过期,所以该宏可能是不安全的。 在启用签名过期的宏之前,请确保宏来源可靠。如果您在过去使用此文档时未出现任何安全问题,则启用该宏的风险就会小些。
 
 
适用于:
Access 2007, Excel 2007, InfoPath 2007, PowerPoint 2007, Publisher 2007, Visio 2007, Word 2007