如何在不打開Outlook中的電子郵件的情況下保存附件?
您可能經常需要將收到的電子郵件中的附件保存到計算機光盤中。 從電子郵件中保存附件或所有附件很容易,但是如何一次保存多封電子郵件中的附件呢? 通常,您需要重複打開電子郵件並保存附件。 有什麼技巧可以擺脫重複操作嗎? 在這裡,本教程中的方法可以為您提供幫助。
保存一封或多封電子郵件中的附件,而無需使用VBA代碼打開
從一個或多個電子郵件中保存附件,而無需使用出色的工具打開
保存一封或多封電子郵件中的附件,而無需使用VBA代碼打開
下面的VBA代碼可以幫助您同時保存一封或多封電子郵件中的附件,而無需在Outlook中打開電子郵件。 請執行以下操作。
1.選擇一個或多個要保存附件的電子郵件,然後按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。
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 鍵來運行代碼。 然後一個 瀏覽文件夾 彈出窗口,請選擇一個文件夾來保存附件,然後單擊 OK 按鈕。
然後,所選電子郵件中的所有附件都會立即保存到所選文件夾中。
備註: 所有附件將從電子郵件中分離出來,並在電子郵件正文中保留相應的保存路徑鏈接。
從一個或多個電子郵件中保存附件,而無需使用出色的工具打開
如果您是VBA的新手,那麼本節中的方法將是您的不錯選擇。
在這裡推薦 保存所有附件 的效用 Kutools for Outlook 為你。 如果您只想保存附件而不與選定的電子郵件分離,則“保存所有附件”功能可以幫助您輕鬆完成它。 請執行以下操作。
在將Kutools用於Outlook之前,請 下載並安裝 首先。
1.選擇包含您將保存的附件的電子郵件,單擊 庫工具 > 附件工具 > 保存全部.
2。 在裡面 保存設置 對話框,您需要:
- 2.1)在 將附件保存到此文件夾 部分,選擇一個文件夾來保存附件;
- 2.2) 將附件保存為以下樣式 框是可選的,您可以使用certian樣式創建子文件夾以保存附件,或使用certian樣式重命名已保存的附件。
- 2.3)點擊 OK 開始保存選定電子郵件中的所有附件。
保養竅門:使用以上配置,所有附件將保存到指定的文件夾中。 如果只想保存一些證書附件,例如僅保存文件名中帶有證書詞“發票”的PDF文件,則可以按以下方式配置過濾條件。
- 點擊 高級選項 按鈕以展開 過濾條件s;
- 根據需要指定條件。
提示: 在這裡我檢查 附件名稱 包含框,然後在文本框中輸入“發票”,然後選中 附件類型 框,在文本框中輸入“ .pdf”。
3.在下一個彈出對話框中,單擊 是 以繼續。
然後,所選電子郵件中的附件將立即保存到指定的文件夾中。
保養竅門:要從選定的電子郵件中分離附件並僅在電子郵件正文中保留附件超鏈接,則 分離所有附件 功能可以提供幫助。
如果您想免費試用該工具(60天), 請點擊下載,然後按照上述步驟進行操作。
相關文章
自動將附件從Outlook下載/保存到特定文件夾
一般來說,您可以通過單擊Outlook中的附件>保存所有附件來保存一封電子郵件的所有附件。 但是,如果您需要保存所有收到的電子郵件和收到的電子郵件中的所有附件,那麼理想嗎? 本文將介紹兩種解決方案,可將附件從Outlook自動下載到特定文件夾。
在Outlook中回复時保留附件
當我們在Microsoft Outlook中轉發電子郵件時,此電子郵件中的原始附件仍保留在轉發的郵件中。 但是,當我們回復電子郵件時,原始附件將不會附加在新的回复消息中。 在這裡,我們將介紹有關在Microsoft Outlook中回复時保留原始附件的一些技巧。
在Outlook中的附件(內容)中搜索單詞
當我們在Outlook的“即時搜索”框中鍵入關鍵字時,它將在電子郵件的主題,正文,附件等中搜索關鍵字。但是現在,我只需要在Outlook中僅在附件內容中搜索關鍵字,您知道嗎? 本文介紹了在Outlook中輕鬆搜索附件內容中的單詞的詳細步驟。
- 自動CC / BCC 根據規則發送電子郵件; 自動前進 自定義多封電子郵件; 自動回复 沒有交換服務器,還有更多自動功能...
- BCC警告 -當您嘗試全部答复時顯示消息 如果您的郵件地址在“密件抄送”列表中; 缺少附件時提醒,還有更多提醒功能...
- 在郵件對話中回复(全部)帶有所有附件; 回复許多電子郵件 片刻之間; 自動添加問候語 回复時將日期添加到主題中...
- 附件工具:管理所有郵件中的所有附件, 自動分離, 全部壓縮,重命名全部,保存全部...快速報告, 計算選定的郵件...
- 強大的垃圾郵件 習俗 刪除重複的郵件和聯繫人... 使您能夠在Outlook中做得更聰明,更快和更好。
Kutools for Outlook-為Outlook帶來100個高級功能,並使工作更加輕鬆!

