跳到主要内容

如何在不打开Outlook中的电子邮件的情况下保存附件?

您可能经常需要将收到的电子邮件中的附件保存到计算机光盘中。 从电子邮件中保存附件或所有附件很容易,但是如何一次保存多封电子邮件中的附件呢? 通常,您需要重复打开电子邮件并保存附件。 有什么技巧可以摆脱重复操作吗? 在这里,本教程中的方法可以为您提供帮助。

保存一封或多封电子邮件中的附件,而无需使用VBA代码打开
从一个或多个电子邮件中保存附件,而无需使用出色的工具打开


保存一封或多封电子邮件中的附件,而无需使用VBA代码打开

下面的VBA代码可以帮助您同时保存一封或多封电子邮件中的附件,而无需在Outlook中打开电子邮件。 请执行以下操作。

1.选择一个或多个要保存附件的电子邮件,然后按 其他 + F11 键打开 Microsoft Visual Basic应用程序 窗口。

2.展开 Microsoft Outlook对象 文件夹,双击 本次展望会议 打开 代码 窗口,然后将下面的VBA代码复制到其中。

VBA代码:保存附件而无需打开电子邮件

Public Sub SaveAttachmentsWithoutOpening()
'Updated by Extendoffice 20191008
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xAttachment As Outlook.Attachment
Dim i As Long
Dim xCount As Long
Dim xFileName As String
Dim xSavePath As String
Dim xOriginalFiles As String
On Error Resume Next
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.BrowseForFolder(0, "Select a folder:", 0, strStartingFolder)
If Not TypeName(xFolder) = "Nothing" Then
    Set xFolderItem = xFolder.self
    xSavePath = xFolderItem.Path & "\"
Else
    xFileName = ""
    Exit Sub
End If
For Each xMailItem In Outlook.ActiveExplorer.Selection
    Set xAttachments = xMailItem.Attachments
    xCount = xAttachments.Count
    xOriginalFiles = ""
    If xCount > 0 Then
        For i = xCount To 1 Step -1
            Set xAttachment = xAttachments.Item(i)
            If IsEmbeddedAttachment(xAttachment) = False Then
                xFileName = xSavePath & xAttachment.FileName
                xAttachment.SaveAsFile xFileName
                xAttachment.Delete
                If xMailItem.BodyFormat <> olFormatHTML Then
                    xOriginalFiles = xOriginalFiles & vbCrLf & "file://" & xFileName
                Else
                    xOriginalFiles = xOriginalFiles & "<br>" & "<a href='file://" & xFileName & "'>" & xFileName & "</a>"
                End If
            End If
        Next i
        If xMailItem.BodyFormat <> olFormatHTML Then
            xMailItem.Body = "The file(s) were saved to " & xOriginalFiles & vbCrLf & vbCrLf & xMailItem.Body
        Else
            xMailItem.HTMLBody = "<p>" & "The file(s) were saved to " & xOriginalFiles & "</p>" & xMailItem.HTMLBody
        End If
        xMailItem.Save
    End If
Next
Set xAttachments = Nothing
Set xMailItem = Nothing
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

4。 按 F5 键来运行代码。 然后一个 BrowseForFolder 弹出窗口,请选择一个文件夹来保存附件,然后单击 OK 按钮。

然后,所选电子邮件中的所有附件都会立即保存到所选文件夹中。

请注意: 所有附件将从电子邮件中分离出来,并在电子邮件正文中保留相应的保存路径链接。


从一个或多个电子邮件中保存附件,而无需使用出色的工具打开

如果您是VBA的新手,那么本节中的方法将是您的不错选择。

在这里推荐 保存所有附件 的效用 Kutools for Outlook 为你。 如果您只想保存附件而不与选定的电子邮件分离,则“保存所有附件”功能可以帮助您轻松完成它。 请按照以下步骤进行。
在应用 Kutools for Outlook 之前,请 下载并安装 首先。

1.选择包含您将保存的附件的电子邮件,单击 库工具 > 附件工具全部保存.

2.在 保存设置 对话框,您需要:

  • 2.1)在 将附件保存到此文件夹 部分,选择一个文件夹来保存附件;
  • 2.2)的 将附件保存为以下样式 框是可选的,您可以使用certian样式创建子文件夹以保存附件,或使用certian样式重命名已保存的附件。
  • 2.3)点击 OK 开始保存选定电子邮件中的所有附件。

Tips:使用以上配置,所有附件将保存到指定的文件夹中。 如果只想保存一些证书附件,例如仅保存文件名中带有证书词“发票”的PDF文件,则可以按以下方式配置过滤条件。  

  • 点击 高级选项 按钮以展开 过滤条件s;
  • 根据需要指定条件。
    提示: 在这里我检查 附件名称 包含框,然后在文本框中输入“发票”,然后选中 附件类型 框,在文本框中输入“ .pdf”。

3.在下一个弹出对话框中,单击 USB MIDI(XNUMX通道) 继续。

然后,所选电子邮件中的附件将立即保存到指定的文件夹中。

Tips:要从选定的电子邮件中分离附件并仅在电子邮件正文中保留附件超链接,则 分离所有附件 功能可以提供帮助。

  如果您想免费试用(60天)此实用程序, 请点击下载,然后按照上述步骤进行操作。


相关文章

自动将附件从Outlook下载/保存到特定文件夹
通常,您可以通过单击Outlook中的附件>保存所有附件来保存一封电子邮件的所有附件。 但是,如果您需要保存所有收到的电子邮件和收到的电子邮件中的所有附件,那么理想吗? 本文将介绍两种解决方案,可以将附件从Outlook自动下载到特定文件夹。

在Outlook中回复时保留附件
当我们在Microsoft Outlook中转发电子邮件时,此电子邮件中的原始附件将保留在转发的邮件中。 但是,当我们回复电子邮件时,原始附件将不会附加在新的回复消息中。 在这里,我们将介绍有关在Microsoft Outlook中回复时保留原始附件的一些技巧。

在Outlook中的附件(内容)中搜索词
当我们在Outlook的“即时搜索”框中键入关键字时,它将在电子邮件的主题,正文,附件等中搜索关键字。但是现在,我只需要在Outlook中仅在附件内容中搜索关键字,您知道吗? 本文介绍了在Outlook中轻松搜索附件内容中的单词的详细步骤。

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