如何在Outlook中将两个文件夹无重复地合并到一个文件夹?
在Outlook中,您可能拥有许多带有多个文件夹的邮件账户,在某些情况下,您希望将两个文件夹合并为一个,并删除重复的项目。如何快速完成这项任务呢?本文中,我将介绍一种VBA代码,帮助您尽可能快地在Outlook中处理它。
使用Kutools for Outlook合并多个文件夹并删除重复项
通过VBA代码无重复地合并两个文件夹
要将两个文件夹合并为一个并删除重复的项目,您可以按照以下步骤使用VBA代码来处理:
1. 按“Alt + F11”键打开“Microsoft Visual Basic for Applications”窗口。
2. 在左侧窗格中双击“Project1”下的“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 :利用先进的人工智能技术轻松处理电子邮件,包括回复、总结、优化、扩展、翻译和撰写邮件。
📧 邮件自动化:自动答复(支持 POP 和 IMAP) / 定时发送邮件 / 按规则自动抄送密送 / 自动转发(高级规则) / 自动添加问候语 / 自动将多收件人邮件拆分为单独消息 ...
📨 邮件管理:撤回邮件 / 按主题和其他条件阻止垃圾邮件 / 删除重复邮件 / 高级搜索 / 整合文件夹 ...
📁 附件增强功能:批量保存 / 批量拆离 / 批量压缩 / 自动保存 / 自动拆离 / 自动压缩 ...
🌟 界面魔法:😊更多漂亮酷炫的表情符号 / 当重要邮件到达时提醒您 / 最小化 Outlook 而不是关闭 ...
👍 一键奇效:带附件回复所有人 / 反钓鱼邮件 / 🕘显示发件人的时区 ...
👩🏼🤝👩🏻 联系人和日历:从选定的邮件中批量添加联系人 / 将联系人组拆分为单独的组 / 移除生日提醒 ...
单击即可立即解锁 Kutools for Outlook。不要再等待,现在就下载并提升您的效率!

