如何在 Outlook 中將兩個資料夾合併為一個,同時避免產生重複項目?
在 Outlook 中,您可能擁有許多電子郵件帳戶,每個帳戶都包含多個資料夾。有時,您會希望將兩個資料夾合併為一個,並自動移除重複的郵件項目。如何快速完成這項任務?本文將為您介紹一段實用的 VBA 程式碼,助您在 Outlook 中高效、迅速地達成目標。
使用 VBA 程式碼將兩個資料夾合併為一個,且不產生重複項目
使用 Kutools for Outlook 合併多個資料夾並移除重複項目
使用 VBA 程式碼將兩個資料夾合併為一個,且不產生重複項目
若要將兩個資料夾合併為一個並移除重複項目,可依照下列步驟使用 VBA 程式碼處理:
1. 按下「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 在左側窗格中,於「Project 1」下雙擊「ThisOutlookSession」,然後將下方程式碼複製並貼上至右側的腳本視窗中。
VBA:合併兩個資料夾且不產生重複項目
Sub MergeOutlookFolders_WithoutDuplicates()
'UpdatebyExtendoffice20180521
Dim xSourceFolder As Outlook.Folder
Dim xTargetFolder As Outlook.Folder
Dim xCount, i As Long
Dim xItem As Object
Dim xSourceItem As Object
Dim xTargetItem As Object
Dim xDictionary As Scripting.Dictionary 'Object
Dim xStr As String
On Error Resume Next
Set xDictionary = New Scripting.Dictionary
Set xSourceFolder = Application.Session.PickFolder
Set xTargetFolder = Application.Session.PickFolder
xCount = 0
If xSourceFolder.DefaultItemType <> xTargetFolder.DefaultItemType Then
MsgBox "Error: The two folders are not in same type!", vbExclamation + vbOKOnly, "Kutools for Outlook"
Exit Sub
End If
For i = xSourceFolder.Items.Count To 1 Step -1
Set xSourceItem = xSourceFolder.Items.Item(i)
xSourceItem.Move xTargetFolder
Next
For i = xTargetFolder.Items.Count To 1 Step -1
Set xTargetItem = xTargetFolder.Items.Item(i)
Select Case xTargetItem.Class
Case olMail
With xTargetItem
xStr = .Subject & .Body & .SentOn
End With
Case olAppointment
With xTargetItem
xStr = .Subject & .Start & .Duration & .Location & .Body
End With
Case olContact
With xTargetItem
xStr = .FullName & .Email1Address & .Email2Address & .Email3Address
End With
Case olTask
With xTargetItem
xStr = .Subject & .StartDate & .DueDate & .Body
End With
End Select
If xDictionary.Exists(xStr) = True Then
xTargetItem.Delete
xCount = xCount + 1
Else
xDictionary.Add xStr, True
End If
Next i
If xCount <> 0 Then
MsgBox xCount & " duplicates removed when merging!", vbInformation + vbOKOnly, "Kutools for Outlook"
End If
End Sub 
3. 點選「工具」>「參考設定」,在彈出的對話方塊中勾選「Microsoft Scripting Runtime」核取方塊。
![]() | ![]() | ![]() |
4. 點選「確定」,接著按下「F5」鍵執行程式碼。此時將彈出一個對話方塊,提醒您選擇要合併的第一個資料夾(注意:第一個資料夾中的所有項目在與第二個資料夾合併後將被移除)。
5. 點選「確定」。在隨後彈出的第二個對話方塊中,選擇您要與之比較並合併的第二個資料夾。
6. 點選「確定」。此時,第一個資料夾中的所有項目皆已移至第二個資料夾,並自動移除重複項目。
使用 Kutools for Outlook 合併多個資料夾並移除重複項目
如果您不熟悉 VBA 程式碼,不妨試試實用的增益集「Kutools for Outlook」——內建的「整合資料夾」與「重複郵件」功能,能讓您輕鬆又快速地完成這項任務!
告別 Outlook 效率低落的困擾!Kutools for Outlook 讓批次處理電子郵件變得更輕鬆——立即體驗 30 天免費試用!立即下載 Kutools for Outlook!!
合併多個資料夾
1. 點選「KUTOOLS PLUS」>「整合文件夾」,在彈出的「整合多個文件夾到一個文件夾」對話方塊中,點擊「新增」將欲合併的資料夾加入清單,並指定其中一個資料夾作為目標資料夾。
2. 點選「確定」>「確定」。現在,所選資料夾中的所有項目都已成功合併至指定的資料夾!
移除重複項目
3. 點選「Kutools」>「刪除重複項目」>「重複郵件」,然後在「重複郵件」對話方塊中,勾選您要清除重複郵件的資料夾。
4. 點選「下一步」。在「重複郵件設定」對話方塊中,指定用來比對電子郵件的條件,勾選「刪除重複郵件」選項,並選擇「單個文件夾內對比」。
5. 點選「下一步」>「下一步」,系統將自動篩選出重複郵件;接著點選「刪除重複郵件」按鈕 >「確定」,即可輕鬆完成重複郵件的移除。

最佳 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!立即點擊下載!
- ✅ 一鍵便利:只需一次操作,即可下載全部五個安裝套件!
- 🚀 隨時應對任何 Office 任務:按需安裝所需增益集,立即提升工作效率!
- 🧰 包含:Kutools for Excel/Kutools for Outlook/Kutools for Word/Office Tab Pro/Kutools for PowerPoint


