如何在Outlook中將兩個資料夾合併到一個資料夾且不包含重複項目?
在Outlook中,您可能有多個郵件帳號和許多資料夾。在某些情況下,您希望將兩個資料夾合併為一個,並刪除重複的項目。該如何快速完成這項工作呢?本文介紹了一段VBA代碼,幫助您在Outlook中盡快處理此問題。
使用Kutools for Outlook合併多個資料夾並刪除重複項目
使用VBA代碼合併兩個資料夾且不包含重複項目
要將兩個資料夾合併為一個並刪除重複項目,您可以按照以下步驟使用VBA代碼來處理:
1. 按下「Alt + F11」鍵打開「Microsoft Visual Basic for Applications」窗口。
2. 在左側窗格中雙擊「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」,這是一個方便的外掛程式,其「整合資料夾」和「重複郵件」功能可以輕鬆快速地處理此任務。
使用 Kutools for Outlook 解鎖極致郵件效率!永久免費獲取 70 項強大功能。立即下載免費版本!
合併多個資料夾
1. 點擊「Kutools Plus」>「整合資料夾」,然後在「整合多個資料夾到一個」對話框中,點擊「新增」以將要合併的資料夾添加到列表中,並選擇一個資料夾作為目標資料夾。
2. 點擊「確定」>「確定」。現在,所選資料夾中的所有項目都已合併到指定的資料夾中。
刪除重複項目
3. 點擊「Kutools」>「刪除重複」>「重複郵件」。然後在「重複郵件」對話框中,勾選要刪除重複項的資料夾。
4. 點擊「下一步」。在「重複郵件設定」對話框中,指定用於比較郵件的條件。然後勾選「刪除重複郵件」選項,並選擇「單個文件夾內對比」。
5. 點擊「下一步」>「下一步」,重複的郵件將被過濾出來。點擊「刪除重複郵件」按鈕 >「確定」以成功刪除重複的郵件。
最佳 Office 生產力工具
最新消息:Kutools for Outlook 推出免費版本!
體驗全新 Kutools for Outlook,擁有100+ 強大功能!立即下載!
🤖 Kutools AI :運用先進 AI 技術,輕鬆處理郵件,包括答覆、摘要、優化、擴寫、翻譯與撰寫郵件。
📧 郵件自動化:自動回覆(支援 POP 和 IMAP) / 計劃發送郵件 / 發送郵件時根據規則自動抄送密送 / 自動轉發(高級規則) / 自動新增問候語 / 自動將多收件人郵件分割為個別郵件 ...
📨 郵件管理:撤回郵件 /依主題等條件阻擋詐騙郵件 / 刪除重複郵件 / 高級搜索 / 整合文件夾 ...
📁 附件專業版:批次保存 / 批次拆離 / 批次壓縮 / 自動保存 / 自動拆離 / 自動壓縮 ...
🌟 介面魔法:😊更多精美酷炫表情符號 /重要郵件來臨提醒 / 最小化 Outlook 而非關閉 ...
👍 一鍵神技:帶附件全部答復 /反釣魚郵件 / 🕘顯示發件人時區 ...
👩🏼🤝👩🏻 聯絡人與日曆:批次從選中郵件新增聯絡人 / 將聯絡人組分割為多個組 / 移除生日提醒 ...
以您偏好的語言使用 Kutools —— 支援英語、西班牙語、德語、法語、中文及40 多種其他語言!
只需一鍵即可立即啟用 Kutools for Outlook。立即下載,提升您的效率!

