如何在不開啟郵件的情況下儲存 Outlook 附件?
您是否經常需要將收到郵件中的附件儲存至電腦磁碟?從單封郵件儲存一個或多個附件相當簡單,但若要一次從多封郵件中儲存附件該怎麼辦?通常您得反覆開啟郵件並逐一儲存附件——是否有辦法避免這些重複操作?本教學所提供的方法,正是為了解決這個問題,助您輕鬆達成目標。
使用 VBA 程式碼,無需開啟郵件即可儲存一或多封郵件的附件
使用強大工具,無需開啟郵件即可儲存一或多封郵件的附件
使用 VBA 程式碼,無需開啟郵件即可儲存一或多封郵件的附件
下列 VBA 程式碼可協助您在不開啟 Outlook 郵件的情況下,一次儲存一或多封郵件的附件。請依照以下步驟操作:
1. 選取一封或多封您要儲存附件的郵件,按下 Alt+F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。
2. 展開 Microsoft Outlook 物件資料夾,雙擊 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。若您只想儲存附件,而不將其從所選郵件中分離,「儲存所有附件」功能可輕鬆幫您完成!請依下列步驟操作。
套用 Kutools for Outlook 前,請先下載並安裝。
告別 Outlook 效率低落的困擾!Kutools for Outlook 讓批次處理電子郵件變得更輕鬆——立即體驗 30 天免費試用!立即下載 Kutools for Outlook!!
1. 選取包含要儲存附件的郵件,點擊 KUTOOLS PLUS> 附件工具> 儲存全部。
2. 在儲存設定對話方塊中,您需要:
- 2.1) 在儲存附件到此資料夾區段中,選擇一個資料夾來儲存附件;
- 2.2)按以下樣式保存附件方塊為選用項目,可讓您建立符合指定樣式的子資料夾來儲存附件,或以指定樣式重新命名已儲存的附件。
- 2.3) 按一下確定,立即儲存所選郵件中的所有附件!
提示:根據上述設定,所有附件將自動儲存至指定資料夾。若您僅想儲存特定附件(例如檔名包含「invoice」字樣的 PDF 檔案),可依下列方式設定過濾條件。
- 按一下高級選項按鈕以展開篩選條件;
- 根據您的需求設定篩選條件。
提示:在此我勾選了附件名稱包含方塊,並在文字方塊中輸入「invoice」;接著勾選附件類型為方塊,並在文字方塊中輸入「。pdf」。

3. 在接下來彈出的對話方塊中,按一下是以繼續。
接著,所選郵件中的附件將立即儲存至您指定的資料夾中。
提示:若要從所選郵件中分離附件,並僅在郵件內文中保留附件超連結,請使用分離所有附件功能。
相關文章
自動將 Outlook 中的附件下載/儲存至特定資料夾
一般來說,您可以透過 Outlook 的「附件 > 儲存所有附件」功能,輕鬆儲存單封郵件中的所有附件。但若您希望自動將所有已接收及正在接收的電子郵件附件儲存至指定資料夾,該如何實現?本文將為您介紹兩種實用方案,助您輕鬆達成 Outlook 附件自動儲存!
在 Outlook 中回覆郵件時保留附件
當您在 Microsoft Outlook 中轉寄郵件時,原始郵件的附件會自動保留在轉寄內容中;但回覆郵件時,系統卻不會自動附上原始附件。本文將為您介紹幾種實用技巧,助您輕鬆在 Outlook 回覆郵件時保留原始附件!
在 Outlook 中搜尋附件(內容)內的文字
當您在 Outlook 的搜尋方塊中輸入關鍵字時,系統會自動在郵件主旨、內文及附件內容中進行搜尋。但若您只想專注於搜尋附件內容中的文字,該如何操作?本文將一步步教您輕鬆在 Outlook 中精準搜尋附件內的文字!
- ✅ 一鍵便利:只需一次操作,即可下載全部五個安裝套件!
- 🚀 隨時應對任何 Office 任務:按需安裝所需增益集,立即提升工作效率!
- 🧰 包含:Kutools for Excel/Kutools for Outlook/Kutools for Word/Office Tab Pro/Kutools for PowerPoint
最佳 Office 生產力工具
體驗全新 Kutools for Outlook,內含 100+ 項超強功能!立即點擊下載!
🤖KUTOOLS AI:運用先進 AI 技術,輕鬆處理電子郵件——無論是回覆、摘要、優化、擴充、翻譯還是撰寫郵件,通通一鍵搞定!
📧 郵件自動化:自動答覆(支援 POP 與 IMAP)/預約寄送郵件/寄信時依規則自動抄送密送/自動轉發(高級規則)/自動加入問候語/自動將多收件人郵件拆分為個別訊息……
📨 郵件管理:撤回郵件/依主旨等條件封鎖詐騙郵件/刪除重複郵件/高級搜尋/整合文件夾……
📁 附件專業版:批次儲存/批次解除附加/批次壓縮/自動保存/自動拆離/自動壓縮……
🌟 介面魔法:😊更多精美酷炫表情符號/重要郵件來到時提醒您/最小化 Outlook 而非關閉……
👍 一鍵奇蹟:帶附件全部答復/防釣魚郵件/🕘顯示發送者當前時間時區……
👩🏼🤝👩🏻 聯絡人與行事曆:從選取的郵件中批次新增聯絡人/將聯繫人組拆分為個別群組/移除生日提醒……
用您的慣用語言暢享 Kutools — 完整支援英文、西班牙文、德文、法文、中文等 40 多種語言!
立即一鍵解鎖 Kutools for Outlook!別再等待,馬上下載,全面提升工作效率!


🚀 一鍵下載 — 立即取得所有 Office 增益集
強烈推薦:Kutools for Office(5 合 1)
一鍵下載五個安裝程式,一次完成 — Kutools for Excel、Outlook、Word、PowerPoint 與 Office Tab Pro!立即點擊下載!