跳到主要内容

如何从 Excel 中删除宏(完整指南)

Microsoft Excel 以宏的形式提供了强大的功能,可以自动执行重复性任务,并完成许多 Excel 内置功能无法实现的操作。 但是,在某些情况下,这些宏可能会变得多余,甚至带来潜在的安全风险,尤其是在与其他人共享工作簿时。 在这些时刻,了解如何安全有效地删除宏变得至关重要。 本指南旨在引导您了解从 Excel 工作簿中删除宏的各种方法,确保您在需要时拥有干净、精简的文件。


在 Excel 中删除宏之前需要了解的事项

  • 打开启用宏的工作簿并尝试删除宏时,必须先单击 启用内容 工作簿中的按钮。 在继续删除它们之前这是必要的。
  • 请注意: 如果您没有看到此按钮,则表明您可以继续删除宏。 其缺失的原因可能是您自己创建了嵌入宏的工作簿并保存了它。 在同一台计算机上且 Excel 设置未更改的情况下重新打开该工作簿时, 启用内容 按钮经常不显示。 这是因为该文件来自受信任的来源(您)并且位于受信任的位置(您的计算机)。

  • 请记住,一旦删除宏,就无法恢复。 为了保护您的工作,建议在删除任何宏之前创建工作簿的备份副本。

删除特定宏

第 1 步:打开宏对话框

导航到 开发商 选项​​卡,并选择 打开 对话框。 (如果 开发商 选项卡在 Excel 中不可见,请参阅步骤后面的注释。)

提示:
  • 如果您使用的是 Excel 2013 或更新版本, 按钮也可以在 查看 标签。
  • 快捷键爱好者可以直接按 Alt + F8键 访问 对话框。

步骤 2:选择并删除特定宏

  1. 展开 “宏在” 下拉菜单,然后选择要删除宏的目标位置。
  2. 从宏列表中,选择要删除的宏。
  3. 点击 删除.

笔记:

  • 要添加 开发商 选项卡到 Excel 中的功能区,执行以下操作:
    1. 右键单击功能区上的任意位置并选择 自定义功能区....
    2. 在列表中 主要标签 在出现的窗口右侧,选中旁边的框 开发商 并点击 OK.
  • 如果您打算删除多个宏,则必须对每个宏重复上述过程。 有关批量删除所有宏的说明,请继续以下部分。

从工作簿中删除所有宏

如果您需要从工作簿中删除所有宏,可以使用以下两种方法:


通过以 xlsx 格式保存文件来删除工作簿中的所有宏

“Excel 工作簿 (*.xlsx)”格式本质上缺乏对宏的支持。 因此,以这种特定格式保存工作簿将导致自动删除所有嵌入的宏。 要执行此方法,请按以下步骤操作:

  1. 导航 文件 > 另存为.
  2. 展开文件类型下拉菜单并选择“Excel工作簿(* .xlsx)“ 格式。
  3. 提示: 您可以在下拉菜单上方的文本框中输入 .xlsx 文件的新名称。 要将文件保存在其他位置,请单击 浏览.
  4. 点击 保存.
  5. 请注意: 另存为 不同 Excel 版本的界面可能有所不同。 如果您没有看到如上所示的右侧窗格(其中可以选择文件格式),您可以随时单击 浏览 然后选择“Excel 工作簿 (*.xlsx)”格式。

  6. 在出现的提示框中选择 .

结果

结果,将保存一个不带宏的“.xlsx”格式的新文件。 此 .xlsx 文件将采用原始 .xlsm 文件的名称并保存在同一位置。

请注意: 此方法不会删除用户窗体、Excel 5/95 对话框工作表和类似元素。 如果您想消除这些,请参考下一个方法。


使用 Kutools 提供的一键选项从工作簿中删除所有宏

Kutools for Excel是一种高级 Excel 加载项,为用户提供一键式选项,可轻松删除工作簿中嵌入的所有宏。 只需单击一下,您就可以清除 VBA 模块、用户窗体、Excel 5/95 对话框表和 Excel 4 XLM 宏工作表。

打开包含要删除的宏的工作簿后,导航到 库工具 选项卡,然后选择 删除 > 删除所有宏。 瞧,你就完成了!

请注意: 想要访问此功能吗? 下载 Kutools for Excel 现在! 除此之外,Kutools 还拥有 300 多个其他功能,并提供 30 天试用期。 不要等待,今天就尝试一下吧!


从多个工作簿中删除所有宏

当面临从多个工作簿中删除宏的任务时,您可以采取两种方法:


使用 VBA 从文件夹中的工作簿中删除所有宏

在本节中,我将演示如何使用 VBA 宏有效地从指定文件夹内的所有工作簿中删除宏。

请注意: 在使用 VBA 宏删除宏之前,您需要:
  • 导航 文件 > 附加选项 > 信任中心 > 信任中心设置 > 宏设置,然后选择“信任对VBA项目对象模型的访问“ 选项。
  • 确保执行此 VBA 时指定文件夹中没有打开工作簿。 使用打开的工作簿运行它可能会导致错误。

第 1 步:创建一个新模块

  1. 媒体 Alt + F11键 打开 Visual Basic应用程序(VBA) 编辑。
  2. 点击 插页 > 模块 创建一个新模块。

步骤 2:将 VBA 代码复制到模块窗口

复制下面的VBA代码并将其粘贴到打开的 模块 窗口。

Sub RemoveMacrosFromWorkbooks()
' Update by ExtendOffice

    Dim wb As Workbook
    Dim FolderPath As String
    Dim filename As String
    Dim VBComp As Object
    Dim VBProj As Object

    With Application.FileDialog(msoFileDialogFolderPicker)
        .title = "Select a folder"
        .Show
        If .SelectedItems.Count = 0 Then
            MsgBox "No folder selected. The procedure will exit.", vbExclamation
            Exit Sub
        End If
        FolderPath = .SelectedItems(1)
    End With

    If Right(FolderPath, 1) <> "\" Then FolderPath = FolderPath + "\"

    filename = Dir(FolderPath & "*.xls*")
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    On Error Resume Next
    Do While filename <> ""
        Set wb = Workbooks.Open(FolderPath & filename)

        If wb.HasVBProject Then
            Set VBProj = wb.VBProject
            
            For Each VBComp In VBProj.VBComponents
                VBProj.VBComponents.Remove VBComp
            Next VBComp
        End If

        wb.Close SaveChanges:=True

        filename = Dir
    Loop
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    MsgBox "Macros removal completed!", vbInformation

End Sub

第 3 步:运行 VBA 代码

  1. 模块 窗口,按 F5 或点击 按钮来执行粘贴的代码。
  2. 选择一个文件夹 在出现的窗口中,选择包含要从中删除宏的工作簿的文件夹,然后单击 OK.

结果

宏完成处理所选文件夹中的所有 Excel 文件并从中删除宏后,您将看到一个“宏删除完成!”消息框。

笔记:

  • 此方法不会删除用户窗体、Excel 5/95 对话框工作表和类似元素。 如果您想消除这些,请参考下一个方法。
  • 激活“信任对 VBA 项目对象模型的访问”选项可能会带来安全风险。 建议仅在运行此代码时启用该选项。 确保取消选择“信任对VBA项目对象模型的访问" 代码完成执行后的选项。

使用 Kutools 从任何特定工作簿中删除所有宏

Kutools for Excel 提供了一种用户友好的方式从多个工作簿中删除所有宏。 对于那些犹豫或不熟悉 VBA 技术的人来说,Kutools 是一个理想的选择。 使用此工具,您可以轻松删除 VBA 模块、用户窗体、Excel 5/95 对话框表和 Excel 4 XLM 宏工作表。

请注意: 要运行此功能,您需要信任对 VBA 项目对象模型的访问。 在 Excel 中,请导航至 文件 > 附加选项 > 信任中心 > 信任中心设置 > 宏设置,然后选择“信任对VBA项目对象模型的访问“ 选项。

下载并安装 Kutools for Excel,继续执行以下步骤:

  1. 选择 库工具 > 删除 > 批量删除所有宏.
  2. 批量删除所有宏 在出现的对话框中,列出了所有打开的工作簿以进行宏删除。 接下来您需要执行以下操作:
    1. 要添加更多工作簿以进行宏删除,请单击 地址 按钮,然后选择 文件 or .
    2. 如果您希望从宏删除过程中排除任何工作簿,请单击 按钮将其删除。
    3. 在对话框中列出所有需要删除宏的工作簿后,单击 OK.

结果

出现一个新的对话框,指示 Kutools 已处理多少工作簿以进行宏删除。 按下后 OK,将生成一个自动摘要工作簿来概述结果。

笔记:

  • 想要访问此功能吗? 下载 Kutools for Excel 现在! 除此之外,Kutools 还提供 300 多个其他功能。 30 天免费试用,没有理由等待。 今天就试试吧!
  • 激活“信任对 VBA 项目对象模型的访问”选项可能会带来安全风险。 建议仅在运行该功能时启用该选项。 确保取消选择“信任对VBA项目对象模型的访问" 功能完成执行后的选项。

以上就是Excel中删除宏相关的全部内容。 我希望本教程对您有所帮助。 如果您想探索更多 Excel 提示和技巧, 请点击这里 访问我们广泛收集的超过数千个教程。

Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations