如何在 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 程式碼,不妨試試實用的 Outlook 增益集「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


