跳至页脚内容
EXCEL 工具

如何在Excel中启用宏(每种方法,分步讲解)

Iron Software 团队撰写


宏是Microsoft Excel中的一个强大功能,允许用户自动化重复性任务和简化工作流程。 如果您曾打开Excel文件并看到顶部有黄色栏提示"宏已被禁用",您并不孤单。 这种情况每天都会发生在数百万Excel用户身上,而解决通常不到十秒钟。

宏通过在Excel电子表格内自动化任务进行工作。 它们由命令组成,这些命令可以是记录的操作或VBA代码,以自动执行特定功能。

宏是一系列命令,可作为Excel中的单一命令执行。

最快的方法:点击功能区下方黄色安全警告栏中的启用内容按钮。 就是这样。 您的宏将立即运行。

但事情不止于此。 根据您的文件到达的方式(电子邮件,共享驱动器,IT策略),那个按钮可能不会出现,或者您可能需要宏在无需提示的情况下自动运行。 本指南涵盖您可能需要的每种方法、每个边缘案例和每个设置。* **

什么是宏,以及为什么Excel会阻止它们?

宏是记录或书写在Excel文件中的小程序,可以自动化一个或多个任务,比如格式化每周报告,从另一张表导入数据,或当单元格达到某个值时发送电子邮件。 它们确实非常有用。

宏可用于自动化Excel中的复杂或重复性任务。

宏可以帮助简化使用Excel电子表格程序的工作。

Excel之所以默认阻止它们是因为宏_可能_被用来运行恶意代码。 病毒或勒索软件有效载荷可以隐藏在启用宏的Excel文件中(.XLSM),所以Microsoft决定,除非您明确允许,否则阻止所有宏是更安全的。 这总体上是一个好的政策,这只是意味着您需要知道如何为您_确实_信任的文件打开宏。

方法1:点击"启用内容"在安全警告栏(最快)

这是最常见的情况,也是最快的修复方法。

您将何时看到此:任何时候您打开一个新的宏启用Excel文件(.XLSM或.XLSB)且之前未在您的计算机上打开。

步骤:

  1. 像往常一样打开Excel文件。
  2. 看看功能区标签的正下方,您会看到带有盾牌图标的黄色条和消息:"安全警告:宏已被禁用。"
  3. 点击该条右侧的启用内容按钮。

  4. 文件重新加载,宏处于活动状态。

如何在Excel中启用宏(每种方法,逐步):图像1 - 带有

这在幕后做了什么:Excel将文件添加到信任的文件列表中。 下次从相同位置打开相同文件时,宏将自动运行,无需提示。

重要注意事项:如果您将文件移动或复制到不同的文件夹,或者通过电子邮件接收到新副本,Excel可能会将其视为新的不信任文件,并再次提示您。* **

方法2:通过Excel信任中心设置启用宏

如果您希望在_所有_文件中自动运行宏,或者希望微调Excel如何在全球范围内处理宏,您可以在信任中心中更改宏设置。 要这样做,您需要从Excel选项窗口选择信任中心。

何时使用此方法:您定期使用启用宏的文件,而黄色条正在妨碍。

步骤:

  1. 打开Excel(此操作不需要打开文件)。
  2. 在左上角点击文件

  3. 在左侧面板底部点击选项

  4. 在Excel选项窗口中,在左侧边栏中选择信任中心

  5. 点击右侧的信任中心设置…按钮。

  6. 在信任中心窗口的左侧面板中点击宏设置

  7. 选择四个选项之一(参见下面的拆解)。
  8. 点击确定,然后再次点击确定关闭两个窗口。

Excel中的信任中心包含用于确保计算机安全的所有安全和隐私设置。

在信任中心更改宏设置可能有风险,特别是在管理环境中。 如果您的设备由工作/学校管理,系统管理员可能会禁止任何人更改宏设置。

在信任中心中,您可以逐案设置宏权限,设置信任文档,并配置对VBA项目对象模型的信任访问,以控制Excel如何处理宏,并防止未经授权的代码执行。

 related to 方法2:通过Excel信任中心设置启用宏

四种宏设置解释

|设置|它的功能|谁应该使用它| |---|---|---| |禁用所有宏不通知|宏被静默屏蔽,没有黄色条|高安全环境,共享/公共计算机| |禁用所有宏并通知(默认)|显示黄色条,您每个文件决定|大多数日常用户| |禁用所有宏,除了数字签名的宏|仅允许来自验证发布者的宏|带有签名宏工具的企业环境| |启用所有宏|所有宏自动运行,无需提示|仅打开受信任文件的高级用户|

对于大多数办公人员,将其保持为默认设置("禁用并通知"),并在每个文件上点击"启用内容"是最安全的工作流程。


方法 3:将文件夹添加到受信任的位置

如果您的团队共享来自特定网络驱动器或文件夹的启用宏的文件,您可以告诉 Excel 始终信任该位置的文件,无黄色条,无提示,直接打开即可。

何时使用: 您有一个团队共享文件夹(如 \CompanyServer\Reports\),其中包含 Excel 模板和宏。

步骤:

  1. 前往 文件 > 选项 > 信任中心 > 信任中心设置… 2. 在左侧面板中点击 受信任的位置

  2. 点击 添加新位置… 4. 点击 浏览 并导航到文件夹。

  3. 如果需要,勾选 此位置的子文件夹也被信任

  4. 点击 确定 三次。

如何在Excel中启用宏(每种方法,逐步):图像3 - 带有填充文件夹路径的

安全提示: 仅添加您真正控制的文件夹。 不要添加您的下载文件夹或桌面,这些是钓鱼文件的常用着陆点。 *

方法 4:信任特定文件(无需更改全局设置)

Excel 会自动记住您点击"启用内容"过的文件为 受信文件。 但如果您需要清除并重新信任一个文件,或者手动将文件添加到信任列表,这里是方法。

清除所有受信文件(强制重新提示所有内容):

  1. 前往 文件 > 选项 > 信任中心 > 信任中心设置… 2. 点击 受信文件

  2. 点击 全部清除
  3. 点击 确定

如果您意外信任了一个不应该信任的文件,或者您在设置一台洁净的机器时,这很有用。

 related to 方法 4:信任特定文件(无需更改全局设置)


方法 5:解除从互联网下载的文件阻止(Web标记)

这是困扰很多人的边缘情况。 当您从互联网下载文件时,您的浏览器和 Windows 本身会为其添加一个不可见的"Web标记"(MOTW)。 该标记会告诉 Excel 将文件视为可能有危险,即使您已将宏设置为允许所有宏。

在这种情况下,黄色条可能会显示"受保护的视图"而不是"宏已禁用",并且点击启用内容仍然会使宏被阻止。

解决方法:

  1. 在 Excel 中关闭文件。
  2. Windows 文件资源管理器 中找到文件(而不是 Excel 内部)。

  3. 右键点击文件并选择 属性
  4. 在通用选项卡底部,寻找一个说 "此文件来自另一台计算机,可能被阻止以帮助保护此计算机的复选框。 解除阻止。 5. 勾选 解除阻止 复选框。

  5. 点击 应用,然后 确定
  6. 在 Excel 中重新打开文件。

如果您看不到解除阻止复选框,该文件没有被 Windows 标记,这不是问题。 *

方法 6:使用功能区启用一次性会话的宏

如果您已经在一个文件中并且黄色条消失了(也许您误取消了它),您仍然可以从功能区启用宏,而无需进入信任中心设置。

步骤:

  1. 点击 文件 选项卡。

  2. 您应该看到文件名下的黄色横幅说 "安全警告:宏已被禁用。" 3. 点击该横幅上的 启用内容

如果您看不到它:

  1. 仍在文件选项卡中,点击左侧面板中的 信息

  2. 找到带有 启用内容 按钮的 安全警告 部分。

  3. 点击 启用内容 > 启用所有宏 仅用于此会话。 *

方法 7:通过开发人员选项卡永久启用宏

Excel 中的开发人员选项卡为您提供宏控制的直接访问,并提供宏管理和自动化的以下选项,如宏记录器、VBA 编辑器、插入控件、管理加载项以及导入/导出 XML 文件。 如果您定期处理宏,值得启用此选项卡。

步骤 1:显示开发人员选项卡(如果隐藏)

  1. 右键单击功能区上的任意位置,选择 自定义功能区 来启用开发人员选项卡。

  2. 在右侧列中,找到 开发人员 并勾选其复选框。

  3. 点击 确定

步骤 2:使用开发人员选项卡中的宏安全性

  1. 点击 开发者 选项卡。

  2. 点击代码组中的 宏安全性

  3. 按方法 2 中描述的调整设置。

方法 8:从 VBA 编辑器启用宏

如果您正在排除无法运行的宏的故障,您可以直接打开 VBA 编辑器并检查项目级别是否存在编译错误或信任问题。

步骤:

  1. Alt + F11 打开 Visual Basic for Applications (VBA) 编辑器。

  2. 在左侧面板,您将看到 VBA 项目树。 如果模块或代码呈灰色或显示错误,项目可能被锁定。
  3. 在 VBA 编辑器菜单中,前往 工具 > 宏安全性

  4. 在这里,您可以更改宏设置以启用或禁用宏,类似于信任中心中的选项。

此方法不会绕过信任中心设置,它更适用于诊断为何宏在您认为其应运行时未运行。

使用宏实现自动化任务:您能做什么?

在 Excel 中启用宏解锁了一种强大的方法,可以自动化重复性任务并简化工作流程。 只需点击几下,您即可设置 Excel 处理从数据输入和格式化到复杂计算和报告生成的一切,节省大量手动工作时间并降低错误风险。

要开始自动化任务,您首先需要在 Excel 中启用宏。 这通过信任中心设置进行管理,您可以选择适合安全需求的宏设置。 信任中心对话框允许您启用 VBA 宏、禁用 VBA 宏或仅允许数字签名的宏,赋予您控制可以在 Excel 文件中运行的宏类型的权力。

一旦启用宏,您就可以自动化广泛的任务。 例如,您可以创建一个宏来自动格式化月度报告,从另一个电子表格导入数据,甚至发送摘要邮件给您的团队。 这些 自动化任务 可以通过一次点击触发,使得高效地处理重复性流程变得容易。

为了进一步简化您的工作流程,请考虑在信任中心中设置受信位置。 通过将网络驱动器或特定文件夹添加为受信位置,存储在其中的 Excel 文件中的宏将自动启用,无需每次点击"启用内容"。这对于从中心文件夹共享启用宏工作簿的团队特别有用。

对于希望创建或自定义自己自动化解决方案的用户来说,Excel 中的开发人员选项卡提供了直接访问工具来编写和管理 VBA 代码。 在此,您可以记录新宏,编辑现有宏,并调整宏安全性设置以适应您的需求。 启用开发人员选项卡很简单,只需转到文件标签,选择选项,并在自定义功能区对话框中勾选开发人员选项。

虽然宏可以极大地提高生产力,但要注意安全风险。 仅启用来自受信源的宏,并考虑使用数字签名宏以增加保护。 避免在来自未知或不受信位置的文件中启用宏,因为它们可能包含潜在的危险代码。

通过在 Excel 中利用宏,您可以自动执行重复性任务,确保一致性,并腾出时间进行更有战略性的工作。 无论您是在格式化报告、导入数据,还是构建自定义工作流程,启用宏以及使用正确的信任中心设置将帮助您充分利用 Excel 体验。 有关更详细的说明和支持,请参阅本指南中提供的资源。

常见问题及故障排除

"启用内容"按钮根本不显示

最可能的原因: 您的 IT 部门已实施组策略,阻止所有宏并且不通知。 设置"禁用所有宏而不通知"通常由公司 IT 推送。

如何操作: 联系您的 IT 帮助台。 您需要他们为特定文件或文件夹创建例外,或者将来自受信发布者的宏列入白名单。

宏已启用,但文件仍然无法工作

请检查以下内容:

  • 宏可能引用了不存在的文件路径(例如,C:\OldServer\data.csv)。
  • 宏可能需要一个尚未安装的特定 Excel 加载项。
  • 打开 VBA 编辑器(Alt + F11),查看代码上的红色错误指示。

每次打开文件都会出现黄色条

最可能的原因: 文件是从网络驱动器或同步文件夹(OneDrive、SharePoint、Teams)打开的,Excel 不会像本地路径那样记住受信文档。

解决: 将网络文件夹添加到受信位置(参见方法 3),或者保存本地副本,启用宏,并从该副本工作。

已启用宏,但运行缓慢或似乎挂起

这不是信任/权限问题,而是性能问题。 大型宏遍历数千行或与外部数据源交互时可能运行缓慢。 考虑在宏开始处添加 Application.ScreenUpdating = False 并在结束时添加 Application.ScreenUpdating = True 以加快进程。

文件来自受信任的同事—我们还需要启用宏吗?

是的,即使文件来自您信任的人。Excel 不知道是谁发送了它,只知道文件位置以及它是否被验证。 安全的习惯是在启用宏之前查看宏的功能,尤其是如果文件是通过电子邮件到达。

"此项目中的宏已被禁用"错误消息

这通常出现在 VBA 项目本身受密码保护或者存在数字签名不匹配时。 如果您拥有该文件,请打开 VBA 编辑器,前往 工具 > VBA 项目属性 > 保护选项卡,并检查是否应用了密码。 *

关于 Excel 版本的说明

上述步骤适用于 Microsoft 365 的 Excel、Excel 2019、Excel 2021 和 Excel 2016。 信任中心布局和确切的按钮标签在所有这些版本中几乎是相同的。

Excel for Mac: 信任中心路径略有不同。 前往 Excel > 偏好设置 > 安全 查找宏设置。 "启用内容"黄色条仍然以相同方式显示。

Excel Online(浏览器): Excel Online 中不支持宏。含有宏的文件将以只读模式打开,并附带一条说明即宏已禁用。 您需要桌面应用程序才能运行宏。

Excel 在移动设备(iOS/Android)上: 宏无法在移动设备上运行。这是一个平台限制,而不是设置问题。 *

对于开发者:使用 IronXL 以编程方式处理 Excel 宏

如果您是开发人员,正在构建生成、读取或处理 Excel 文件的应用程序,而不是通过 UI 手动启用宏,IronXL 提供了一种无需安装 Excel 即可以编程方式处理 C# 和 .NET 中的 Excel 的方法。

要运行宏,文件必须保存为 Excel 启用宏工作簿 (.XLSM 或 .XLSB) 格式。 IronXL 可以读取 .XLSM 文件(启用宏的工作簿),提取数据,并将结果写回 Excel 格式。 虽然以编程方式运行 VBA 宏需要 Excel 的 COM 互操作层,但当您的目标是在 Excel 文件中以规模处理数据时,IronXL 通常是正确的选择,读取值、撰写报告或导出为 PDF 而无需人工干预。

这是一个简单的例子,读取启用宏的 Excel 工作簿中的数据并写入处理结果:

using IronXL;
// Load a macro-enabled excel workbook
WorkBook workBook = WorkBook.Load("monthly-report.xlsm");
WorkSheet sheet = workBook.WorkSheets.First();
// Read values from the sheet
foreach (var row in sheet["A1:D100"])
{
    Console.WriteLine(row.StringValue);
}
// Write processed output to a new Excel file
WorkBook output = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet resultSheet = output.CreateWorkSheet("Processed");
resultSheet["A1"].Value = "Processing complete";
output.SaveAs("output.xlsx");
using IronXL;
// Load a macro-enabled excel workbook
WorkBook workBook = WorkBook.Load("monthly-report.xlsm");
WorkSheet sheet = workBook.WorkSheets.First();
// Read values from the sheet
foreach (var row in sheet["A1:D100"])
{
    Console.WriteLine(row.StringValue);
}
// Write processed output to a new Excel file
WorkBook output = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet resultSheet = output.CreateWorkSheet("Processed");
resultSheet["A1"].Value = "Processing complete";
output.SaveAs("output.xlsx");
Imports IronXL

' Load a macro-enabled excel workbook
Dim workBook As WorkBook = WorkBook.Load("monthly-report.xlsm")
Dim sheet As WorkSheet = workBook.WorkSheets.First()

' Read values from the sheet
For Each row In sheet("A1:D100")
    Console.WriteLine(row.StringValue)
Next

' Write processed output to a new Excel file
Dim output As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim resultSheet As WorkSheet = output.CreateWorkSheet("Processed")
resultSheet("A1").Value = "Processing complete"
output.SaveAs("output.xlsx")
$vbLabelText   $csharpLabel

IronXL 处理格式、公式、单元格范围和多工作表工作簿,而无需在服务器上安装 Excel,使其非常适合自动化报告管道、Web 应用程序和后端数据处理。

摘要:您应该使用哪种方法?

|您的情况|最佳方法| |---|---| |打开文件时出现黄色条|方法 1:点击启用内容| |我每天都打开宏文件,并且希望没有提示|方法 2:信任中心 → 启用所有宏| |我的团队从一个网络文件夹共享文件|方法 3:添加受信位置| |下载的文件仍会阻止宏|方法 5:通过 Windows 属性解除阻止| |IT 管理我的设置,我无法更改|联系 IT 帮助台| |.NET 应用程序用于处理 Excel 文件|IronXL(见开发者部分)|

启用 Excel 宏通常是一次点击修复。 黄色"启用内容"条是微软在执行代码之前征得您许可的方式,为您信任的文件点击它,并为来自未知来源的文件保持阻止。 对于任何更持久的东西,信任中心让您可以完全控制 Excel 如何处理您的整个系统上的启用宏的文件。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我