宏是一组命令,可用于自动执行重复性任务并在需要时运行。本文讨论与使用宏相关的风险,以及如何在信任中心启用或禁用宏。在 Excel 中使用宏可减少人为错误并通过自动执行重复性任务来节省时间。
Excel 中的宏安全性
在工作表中启用宏之前,您应该了解它们的危险程度。
尽管 VBA(Visual Basic for Applications)代码在自动化复杂和重复的任务方面非常有效,但它们会带来重大的安全风险。无意中运行恶意宏可能会损坏或完全删除硬盘驱动器上的文件、损坏您的数据,甚至损坏您的 Microsoft Office 安装。因此,Excel 中的默认设置是禁用所有带有通知的宏。
如何避免这些危险?只需遵循一个简单的规则:只启用安全的宏——那些你自己编写或录制的宏、来自可靠来源的宏,以及你已经彻底检查和理解的 VBA 代码。
如何为单个工作簿启用宏?
可以通过两种方式为特定文件启用宏:直接从工作簿中和通过 Backstage 视图。
1. 直接通过安全通知启用宏:
当您第一次打开包含具有默认宏设置的宏的工作簿时,黄色安全警告栏会出现在工作表的顶部,就在功能区的正下方:
如果在使用宏打开文件时打开了 Visual Basic 编辑器,将显示 Microsoft Excel 安全通知:
如果您确信文件的来源并且所有宏都是安全的,请单击启用内容或启用宏按钮。这会激活宏并将文件标记为受信任的文档。
2. 在后台视图中打开宏:
Office Backstage 视图是另一种为特定工作簿启用宏的方法。这是如何做到的:
- 单击“文件”选项卡,然后单击左侧菜单中的“信息”。
- 单击“安全警告”区域中的启用内容 > 启用所有内容。
您的工作簿与之前的方法一样,将成为受信任的文档。
如何为一个会话启用宏?
在某些情况下,为单个实例启用宏是有意义的。例如,假设您收到一个包含 VBA 代码的 Excel 文件,您想要调查但不想将其设为受信任的文档。
以下步骤将引导您完成在文件打开状态期间启用宏的过程:
- 导航到文件选项卡 > 信息。
- 单击“安全警告”区域中的“启用内容”>“高级选项”。
- 在 Microsoft Office 安全选项对话框中选择为此会话启用内容,然后单击确定。
这使得宏可以一次性使用。如果您关闭然后重新打开工作簿,警告将再次出现。
如何通过信任中心在所有工作簿中启用宏?
Microsoft Excel 根据在信任中心中选择的宏设置来决定是允许还是禁止 VBA 代码执行,您可以在该中心配置 Excel 的所有安全设置。
要在所有 Excel 工作簿中默认启用宏,请执行以下步骤:
- 导航到文件选项卡,然后导航到选项。
- 从左侧窗格中选择信任中心,然后单击信任中心设置。
- 在信任中心对话框中,单击左侧的宏设置,选择启用所有宏,然后单击确定。
注意:您在信任中心中选择的选项将成为所有 Excel 文件的新默认宏设置。相反,如果您只想为特定工作簿启用宏,请将它们保存在受信任的位置。
如何在受信任的位置永久启用宏?
您可以指示 Excel 信任计算机或本地网络上的特定位置,而不是篡改全局宏设置。
按照以下步骤查看当前受信任位置或添加新位置:
- 导航到文件 > 选项。
- 从左侧窗格中选择信任中心,然后单击信任中心设置。
- 在 Trust Center 对话框的左侧,选择 Trusted Locations。您将看到默认受信任位置的列表。这些位置对于 Excel 加载项、宏和模板的正确操作至关重要,不应更改。从技术上讲,您可以将工作簿保存到 Excel 的默认位置之一,但最好创建自己的位置。
- 单击添加新位置以设置您的受信任位置。
- 在 Microsoft Office 受信任位置对话框中执行以下操作:
- 单击“浏览”按钮导航到要设为受信任位置的文件夹。
- 如果您希望所选文件夹的任何子文件夹也受信任,请选中此位置的子文件夹也受信任框。
- 在描述字段中填写一条简短消息(这可以帮助您管理多个位置)或将其留空。
- 单击确定按钮。
完全的!您现在可以将带有宏的工作簿保存在受信任的位置,而无需担心 Excel 的安全设置。
如何使用 VBA 以编程方式启用宏?
许多人在 Excel 论坛上询问是否可以在打开工作簿时以编程方式启用宏并在退出前禁用它们。 “不,这是不可能的,”是立即的回应。由于宏安全性对 Excel 的安全性至关重要,因此 Microsoft 将任何 VBA 代码设计为仅通过用户单击激活。
当微软关闭一扇门时,用户会打开另一个 🙂 作为一种解决方法,有人建议使用“启动画面”或“说明表”来强制用户启用宏。基本概念如下:
您编写的代码可以生成除一个工作表之外的所有工作表,这是隐藏的。可见的工作表(启动画面)说明诸如“请启用宏并重新打开文件”或提供更具体的说明。
当宏被禁用时,用户只能看到“Splash Screen”工作表;所有其他工作表都被隐藏。启用宏后,代码会取消隐藏所有工作表,然后在关闭工作簿时将它们完全重新隐藏。
如何禁用 Excel 中的宏?
如前所述,Excel 的默认设置通过通知禁用宏,并允许用户根据需要手动启用它们。如果您想静默禁用所有宏,而不收到任何通知,请转到信任中心并选择相应的选项(第一个)。
- 单击文件选项卡 > Excel 中的选项。
- 从左侧窗格中选择信任中心,然后单击信任中心设置。
- 从左侧菜单中选择宏设置,然后禁用所有宏而不通知并单击确定。