跳至主要内容

如何从Outlook的邮件中删除特定类型的附件?

Author: Xiaoyang Last Modified: 2025-05-07

在Outlook中管理电子邮件附件可能会很有挑战性,特别是当某些文件类型(如 .docx.png)使您的收件箱变得杂乱无章时。虽然Outlook没有内置功能可以一次性从多封邮件中删除特定附件,但有一些高效的解决方案。您可以使用VBA脚本来手动根据文件类型删除附件,或者选择更快、更用户友好的解决方案——Kutools for Outlook,它可以让您通过几次点击筛选并删除附件。本指南将引导您完成这两种方法。

使用VBA删除特定类型的附件手动且技术性

使用Kutools for Outlook快速删除特定类型的附件 👍快速且用户友好


使用VBA删除特定类型的附件

步骤1:选择多封邮件

邮件视图中,选择包含您要删除附件的邮件。

提示:按住Ctrl键并单击单独的邮件以进行非连续选择。或者按住Shift键并单击第一封和最后一封邮件以选择一个范围。

步骤2:打开VBA编辑器

Alt + F11打开Microsoft Visual Basic for Applications窗口。

步骤3:添加VBA代码

在VBA窗口中,点击 插入 > 模块 以创建一个新模块。然后复制以下VBA脚本并将其粘贴到新模块中:

VBA:从邮件中删除特定类型的附件

Sub DeleteSpecificTypeOfAttachments()
Dim xSelection As Outlook.Selection
Dim xItem As Object
Dim xMailItem As Outlook.MailItem
Dim xAttachment As Outlook.Attachment
Dim xFileType As String
Dim xType As String
Dim xFSO As Scripting.FileSystemObject
Dim I As Integer
On Error Resume Next
Set xSelection = Outlook.Application.ActiveExplorer.Selection
Set xFSO = New Scripting.FileSystemObject
xType = ""
xType = InputBox("Enter the attachment type to remove (e.g., docx, png):", "Kutools for Outlook", xType, 8)
If Len(Trim(xType)) = 0 Then Exit Sub
For Each xItem In xSelection
    If xItem.Class = olMail Then
        Set xMailItem = xItem
        If xMailItem.Attachments.Count > 0 Then
            For I = xMailItem.Attachments.Count To 1 Step -1
                Set xAttachment = xMailItem.Attachments.Item(I)
                xFileType = xFSO.GetExtensionName(xAttachment.FileName)
                If InStr(1, xFileType, Trim(xType), vbTextCompare) > 0 Then
                    xAttachment.Delete
                End If
            Next I
            xMailItem.Save
        End If
    End If
Next
Set xMailItem = Nothing
Set xFSO = Nothing
End Sub

步骤4:启用Microsoft Scripting Runtime

1. 在VBA编辑器中,点击 工具 > 引用

2. 在“引用 - Project1”对话框中,勾选 Microsoft Scripting Runtime 复选框并点击确定

doc remove attach by type 1

步骤5:运行VBA脚本

1. 按F5或点击运行按钮执行代码。

2. 将出现一个提示框,输入您要删除的附件类型(例如,xlsx)。点击确定

doc remove attach by type 2

结果

VBA脚本将从选定的邮件中删除所有匹配指定类型的附件。

doc remove attach by type 3

此方法的局限性:

  • ❌ 需要VBA知识:不适合初学者,非技术用户可能难以操作。
  • ❌ 无预览或撤销功能:一旦附件被删除,无法恢复。
  • ❌ 需要手动执行:每次需要删除附件时都必须运行该脚本。
  • ❌ 可能意外删除:如果您输入了错误的文件类型,可能会删除不希望删除的附件。

如果您经常需要从邮件中删除附件,Kutools for Outlook方法是一种更加高效且用户友好的解决方案。


📂 轻松自动归档附件!

管理大量邮件附件从未如此轻松!借助 Kutools for Outlook自动拆离功能,传入的附件会自动保存到指定文件夹,并在邮件中替换为超链接。告别手动操作和杂乱的收件箱,立即拥抱无缝自动化吧!

Auto Detach Feature in Kutools for Outlook

💡 您会喜欢的优势:

  • ✔️ 附件到达时自动保存
  • ✔️ 使用超链接替换,保持邮件整洁
  • ✔️ 完全可自定义的选项以适应您的工作流程

使用Kutools for Outlook快速删除特定类型的附件 👍

为了获得更高效且用户友好的解决方案,Kutools for Outlook提供了“拆离所有”功能,允许您通过几次点击从多封邮件中删除特定文件类型。与VBA方法不同,不需要编码或手动执行。

使用Kutools for Outlook解锁无与伦比的邮件处理效率!永久免费获取 70 项强大功能。立即下载免费版本

步骤1:选择多封邮件并访问“拆离所有”功能

邮件视图中,选择包含您要删除附件的邮件。然后点击 Kutools Plus > 附件工具 > 拆离所有

shot of the Detach All button

📌 提示:按住Ctrl键选择多个不相邻的邮件,或按住Shift键选择一系列相邻的邮件。

步骤2:设置拆离偏好

  1. 点击 the folder icon 选择 图标以指定保存附件的目标文件夹。
  2. 点击高级选项以展开对话框。
  3. 过滤条件部分,勾选附件类型复选框。然后在文本框中输入您要删除的文件扩展名(例如,.docx; .png)。
  4. 点击 确定 以确认。
    shot of the Detach Settings dialog box

步骤3:确认拆离

将出现一个“拆离所有”确认对话框。点击继续。

shot of the Detach All confirmation dialog box

结果:接下来会发生什么?

1. 所有指定的附件都已从选定的邮件中拆离。

2. 附件被安全地存储在指定的文件夹中,而不是被永久删除。如有需要,您可以通过点击 Kutools Plus > 附件工具 > 恢复所有 来恢复它们。

3. 原始邮件中的每个超链接代表一个已拆离的文件,提供快速访问的同时保持您的收件箱整洁有序。

为什么选择这种方法?

  • ✅ 不需要技术技能:简单、直观且适合初学者。
  • ✅ 一键批量处理:一次从多封邮件中删除附件。
  • ✅ 安全且有条理:与VBA不同,附件不会被删除而是保存在其他地方。
  • ✅ 灵活定制:可以根据附件类型、发件人、日期范围等进行过滤。
注意 要应用Kutools for Outlook的“ 拆离所有 ”工具,首先,您应该下载并安装Kutools for Outlook