如何在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. 點擊「下一步」>「下一步」,重複的郵件將被過濾出來。點擊「刪除重複郵件」按鈕 >「確定」以成功刪除重複的郵件。
最佳辦公室生產力工具
最新消息:Kutools for Outlook推出免費版本!
體驗全新的Kutools for Outlook免費版本,擁有70多項令人驚嘆的功能,永久使用!立即點擊下載!
🤖 Kutools AI :使用先進的AI技術輕鬆處理郵件,包括答覆、摘要、優化、擴展、翻譯和撰寫郵件。
📧 郵件自動化:自動回覆(適用於POP和IMAP) / 計劃發送郵件 / 發送郵件時按規則自動抄送密送 / 自動轉發(高級規則) / 自動新增問候語 / 自動將多收件人郵件拆分為個別郵件...
📨 郵件管理:撤回郵件 / 按主題和其他方式阻止詐騙郵件 / 刪除重複郵件 / 高級搜索 / 整合文件夾...
📁 附件專業版:批量保存 / 批量拆離 / 批量壓縮 / 自動保存 / 自動拆離 / 自動壓縮...
🌟 介面魔法:😊更多漂亮和酷炫的表情符号 / 當重要郵件到來時提醒您 / 最小化Outlook而不是關閉...
👍 一鍵奇蹟:帶附件全部答復 / 防止網絡釣魚郵件 / 🕘顯示發件人的時區...
👩🏼🤝👩🏻 聯絡人和日曆:從選中郵件批量新增聯絡人 / 將聯絡人組拆分為個別組 / 移除生日提醒...
立即單擊解鎖Kutools for Outlook。不要等待,立即下載並提升您的效率!

