Excel Macros 简明教程

Excel Macros - Security

您在 Excel 中创建的宏将以编程语言 VBA(应用程序的可视化 Basic)编写。您将在后面的章节中了解 Excel 宏代码。如您所知,在存在可执行代码时,就会有病毒的威胁。宏也容易受到病毒的攻击。

What are Macro Viruses?

其中编写宏的 Excel VBA 可以访问大多数 Windows 系统调用,并且在工作簿打开时自动执行。因此,存在由宏编写并隐藏在 Excel 中的病毒,在打开工作簿时执行的潜在威胁。因此,Excel 宏可能在许多方面对您的计算机非常危险。但是,Microsoft 已采取适当措施来保护工作簿免受宏病毒侵害。

Microsoft 引入了宏安全性,以便您可以识别您信任的宏和您不能信任的宏。

Macro Enabled Excel Workbooks

最重要的 Excel 宏安全功能是 - 文件扩展名。

Excel 工作簿默认情况下将以 .xlsx 文件扩展名保存。您始终可以信任具有 .xlsx 文件扩展名的工作簿,因为它们无法存储宏并且不会携带任何威胁。

包含宏的工作簿将以 .xlsm 文件扩展名进行保存。它们被称为启用宏的 Excel 工作簿。在打开此类工作簿之前,您应确保它们包含的宏不是恶意的。为此,您必须确保您信任此类工作簿的来源。

Ways of Trusting Macro Enabled Workbook

Excel 提供了三种方法来信任已启用宏的工作簿。

  1. 将启用宏的工作簿放在受信任的文件夹中

  2. 检查宏是否已进行数字签名

  3. 在打开已启用宏的工作簿之前启用安全警报消息

Placing the macro enabled workbooks in a trusted folder

这是管理宏安全最简单、最有效的方法。Excel 允许您将文件夹指定为受信任位置。将所有已启用宏的工作簿放在该受信任文件夹中。您可以在不受警告或限制的情况下打开已保存到该位置的已启用宏的工作簿。

Checking if a macro is digitally signed

数字签名可确认作者的身份。您可以将 Excel 配置为在无警告或限制的情况下,运行来自受信任人员的经过数字签名的宏。如果自作者签名后工作簿已更改,Excel 也会向收件人发出警告。

Enabling security alert messages before opening macro enabled workbooks

当您打开工作簿时,Excel 会警告您该工作簿中包含宏,并询问您是否要启用它们。如果工作簿来源可靠,您可以单击“{s0}”按钮。

security

您可以在 Excel 选项中的“信任中心”中设置这三个选项中的任何一个。

如果您在组织中工作,系统管理员可能已经更改了默认设置,以防止任何人更改设置。Microsoft 建议您不要更改“信任中心”中的安全设置,因为后果可能是丢失数据、数据盗窃或您的计算机或网络上的安全泄露。

但是,您可以在以下章节了解宏安全设置,并检查它们是否需要更改。您必须运用自己的直觉,根据上下文和您对文件来源的了解来决定这些选项。

Macro Security Settings in Trust Center

宏设置位于 Excel 选项中的“信任中心”。要访问“信任中心”,请执行以下操作:

  1. 单击功能区上的“文件”选项卡。

  2. 单击“选项”。这将显示“Excel 选项”对话框。

  3. 单击左窗格中的“{s1}”。

  4. 单击“Microsoft Excel 信任中心”下的“{s2}”按钮。

macro setting

这将显示“{s3}”对话框。

trust center

您将在左窗格中看到“Excel 信任中心”中提供的各种选项。您将在以下章节中了解与 Excel 宏相关的选项。

Macro Settings

宏设置位于“信任中心”。

macro settings

在“宏设置”下,提供了四个选项。

  1. {s4} - 如果选择此选项,将禁用宏和有关宏的安全警报。

  2. {s5} - 宏被禁用,但如果存在宏,会出现安全警报。您可以逐个启用宏。

  3. {s6} - 宏被禁用,但如果存在宏,会出现安全警报。但是,如果宏是由受信任的发布者通过数字签名进行签名的,则如果您信任该发布者,此宏将运行。如果您不信任该发布者,您将收到通知,以启用已签名的宏并信任该发布者。

  4. {s7} - 如果选择此选项,所有宏都将运行。此设置使您的计算机容易受到潜在恶意代码的攻击。

您可以在“开发人员宏设置”下拥有一个带有复选框的附加安全选项。

  1. Trust access to the VBA project object model. 此选项允许从自动化客户端按编程方式访问 Visual Basic for Applications (VBA) 对象模型。此安全选项适用于编写用于自动化 Office 程序和操作 VBA 环境和对象模型的代码。它是一项按用户和按应用设置,默认情况下拒绝访问,防止未经授权的程序构建有害的自复制代码。要让自动化客户端访问 VBA 对象模型,运行代码的用户必须授予访问权限。若要打开访问权限,选择复选框。

Defining a Trusted Location

如果你认为某个启用宏的工作簿来自可靠来源,最好将该文件移动到 Excel 识别的受信任位置,而不是将默认信任中心设置更改为安全性较低的宏安全设置。

你可以在信任中心中找到受信任的文件夹设置。

单击“信任中心”对话框中的“受信任位置”。由 Microsoft Office 设置的受信任位置显示在右侧。

trusted location

你可以添加新位置、删除现有位置和修改现有位置。Microsoft Office 将把识别的受信任位置视为打开文件的可靠位置。但是,如果你添加或修改位置,确保该位置是安全的。

你还可以找到 Office 不推荐的选项,例如 Internet 上的位置。

Digitally Signed Macros from Reliable Sources

Microsoft 提供了一个用于适应经过数字签名的宏的选项。但是,即使宏经过数字签名,你也需要确保它来自受信任的发布者。

你可以在信任中心找到受信任的发布者。

  1. 单击“信任中心”对话框中的 Trusted Publishers 。右则会显示证书列表,其中包含“已颁发给”、“已颁发由”和“到期日期”的详细信息。

  2. 选择证书,然后单击“查看”。

trusted publishers

将显示证书信息。

正如你在本章前面学到的,你可以设置一个仅在你信任发布者时才运行经过数字签名的宏的选项。如果你不信任发布者,系统会通知你启用已签名的宏并信任发布者。

Using Warning Messages

当你打开带有宏的文件时,消息栏会显示安全警告。带有盾牌图标的黄色消息栏会警告你宏已禁用。

warning messages

如果你知道宏或这些宏来自可靠来源,你可以在消息栏上单击“启用内容”按钮以启用宏。

你可以禁用消息栏选项,如果你不希望收到安全警告。另一方面,你可以启用消息栏选项以提高安全性。

Enabling / Disabling Security Alerts on the Message Bar

你可以按照以下方式启用/禁用带有消息栏的安全警告:

  1. 单击功能区上的“文件”选项卡。

  2. 单击“选项”。这将显示“Excel 选项”对话框。

  3. Click Trust Center.

  4. 单击“信任中心设置”按钮。

  5. Click Message Bar.

会出现所有 Office 应用程序的消息栏设置。

message bar
  • Showing the Message Bar 下面有两个选项。

Option 1 − 当处于活动内容(例如宏)被阻止时,在所有应用程序中显示消息栏。

  1. 这是默认选项。当可能不安全的内容被禁用时,消息栏会出现。

  2. 如果您已选择 - Disable all macros without notification in the Macro Settings of the Trust Center ,这个选项将未被选择,消息栏不会出现。

showing message

Option 2 − 永不显示有关被阻止内容的信息。

如果此选项被选择,它将禁用消息栏,并且不出现关于安全问题的任何警报,无论信任中心中的任何安全设置如何。

blocked