如何在不打開郵件的情況下保存Outlook中的附件?
您可能經常需要將收到的郵件中的附件保存到電腦磁盤中。從一封郵件中保存一個或所有附件很容易,但如何一次性從多封郵件中保存附件呢?通常情況下,您需要反覆打開郵件並保存附件。有沒有什麼技巧可以避免這種重複操作呢?本教程中的方法可以幫助您。
使用VBA代碼保存一個或多個郵件中的附件而無需打開
使用一款出色的工具保存一個或多個郵件中的附件而無需打開
使用VBA代碼保存一個或多個郵件中的附件而無需打開
以下VBA代碼可以幫助您同時從一封或多封郵件中保存附件,而無需在Outlook中打開郵件。請按照以下步驟操作:
1. 選擇要保存附件的一封或多封郵件,按下 Alt + F11 鍵以打開 Microsoft Visual Basic for Applications 窗口。
2. 展開 Microsoft Outlook Objects 文件夾,雙擊 ThisOutlookSession 打開代碼窗口,然後將以下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 窗口,請選擇一個文件夾來保存附件,然後點擊 確定 按鈕。
然後,所選郵件中的所有附件都會立即保存到所選文件夾中。
注意:所有附件都將從郵件中拆離,並在郵件正文中保留相應的保存路徑鏈接。

使用一款出色的工具保存一個或多個郵件中的附件而無需打開
如果您是VBA的新手,本節的方法將是您的不錯選擇。
在此推薦給您 Kutools for Outlook 的 Save All attachments 工具。如果您只想保存附件而不從所選郵件中拆離,Save All attachments 功能可以輕鬆幫您完成。請按照以下步驟操作。
在應用 Kutools for Outlook 之前,請先下載並安裝它 。
使用 Kutools for Outlook 解鎖極致郵件效率!永久免費獲取 70 項強大功能。立即下載免費版本!
1. 選擇包含要保存附件的郵件,點擊 Kutools Plus > 附件工具 > 儲存附件。
2. 在儲存設定對話框中,您需要:
- 2.1) 在儲存附件到此資料夾部分,選擇一個文件夾來保存附件;
- 2.2) 儲存附件按以下樣式方框是可選的,您可以根據特定樣式創建子文件夾來保存附件,或者用特定樣式重新命名已保存的附件。
- 2.3) 點擊 確定 開始保存所選郵件中的所有附件。
提示:通過上述設置,所有附件都將保存到指定文件夾中。如果您只想保存某些特定附件,例如僅保存文件名包含“invoice”字樣的PDF文件,您可以如下配置過濾條件。
- 點擊 高級選項 按鈕以展開過濾條件;
- 根據您的需求指定條件。
提示:這裡我勾選了附件名稱包含方框,然後在文本框中輸入“invoice”,接著勾選附件類型方框,在文本框中輸入“.pdf”。

3. 在下一個彈出的對話框中,點擊 是 繼續。
然後,所選郵件中的附件將立即保存到指定文件夾中。
提示:對於從所選郵件中拆離附件並僅在郵件正文中留下附件超鏈接, Detach All attachments 功能可以幫助您。
相關文章
自動下載/保存Outlook附件到特定文件夾
一般來說,您可以在Outlook中點擊 附件 > 儲存所有附件 來保存一封郵件的所有附件。但是,如果您需要保存所有收到和接收郵件中的所有附件,有什麼好辦法嗎?本文將介紹兩種自動下載Outlook附件到特定文件夾的解決方案。
回覆時保留Outlook中的附件
當我們在Microsoft Outlook中轉發郵件時,原始附件會保留在轉發的郵件中。然而,當我們回覆郵件時,原始附件不會附加在新的回覆郵件中。這裡我們將介紹一些在Microsoft Outlook中回覆時保留原始附件的小技巧。
在Outlook中搜索附件(內容)中的單詞
當我們在Outlook的即時搜索框中輸入關鍵字時,它會在郵件主題、正文、附件等中搜索該關鍵字。但現在我只需要在Outlook的附件內容中搜索關鍵字,有什麼辦法嗎?本文將向您展示在Outlook中輕鬆搜索附件內容內單詞的詳細步驟。
最佳辦公室生產力工具
最新消息:Kutools for Outlook推出免費版本!
體驗全新的Kutools for Outlook免費版本,擁有70多項令人驚嘆的功能,永久使用!立即點擊下載!
🤖 Kutools AI :使用先進的AI技術輕鬆處理郵件,包括答覆、摘要、優化、擴展、翻譯和撰寫郵件。
📧 郵件自動化:自動回覆(適用於POP和IMAP) / 計劃發送郵件 / 發送郵件時按規則自動抄送密送 / 自動轉發(高級規則) / 自動新增問候語 / 自動將多收件人郵件拆分為個別郵件...
📨 郵件管理:撤回郵件 / 按主題和其他方式阻止詐騙郵件 / 刪除重複郵件 / 高級搜索 / 整合文件夾...
📁 附件專業版:批量保存 / 批量拆離 / 批量壓縮 / 自動保存 / 自動拆離 / 自動壓縮...
🌟 介面魔法:😊更多漂亮和酷炫的表情符号 / 當重要郵件到來時提醒您 / 最小化Outlook而不是關閉...
👍 一鍵奇蹟:帶附件全部答復 / 防止網絡釣魚郵件 / 🕘顯示發件人的時區...
👩🏼🤝👩🏻 聯絡人和日曆:從選中郵件批量新增聯絡人 / 將聯絡人組拆分為個別組 / 移除生日提醒...
立即單擊解鎖Kutools for Outlook。不要等待,立即下載並提升您的效率!

