如果您想合并多个 Outlook 文件夹中的所有项目并确保没有重复,您可以使用本文介绍的方法。 它使用 VBA 代码来帮助您轻松完成它。

有时,您可能希望合并多个 Outlook 文件夹中的项目,例如合并多个 Outlook 联系人文件夹中的所有联系人。 在这种情况下,如果这些文件夹中有一些重复的联系人,您一定希望在合并时自动删除重复的联系人。 在这种情况下,您可以使用下面的VBA代码轻松实现它。
合并多个文件夹中的项目而不重复
- 首先,启动 Outlook 应用程序。
- 然后,您应该通过在 Outlook 主屏幕中按“Alt + F11”键按钮来访问 Outlook VBA 编辑器。
- 接下来,在“Microsoft Visual Basic for Applications”窗口中,您需要打开一个未被使用的模块。
- 之后,您应该将以下 VBA 代码复制到此模块中。
'Here we take "merging two folders" as an example
Sub MergeOutlookFolders_WithoutDuplicates()
Dim objSourceFolder As Outlook.Folder
Dim objTargetFolder As Outlook.Folder
Dim i, n, x As Long
Dim objItem As Object
Dim objDictionary As Object
Dim strKey As String
Set objSourceFolder = Application.Session.PickFolder
Set objTargetFolder = Application.Session.PickFolder
If objSourceFolder.DefaultItemType <> objTargetFolder.DefaultItemType Then
MsgBox "Error: The two folders are not in same type!", vbExclamation + vbOKOnly
Else
'Merge the two folders
For i = objSourceFolder.Items.count To 1 Step -1
Set objItem = objSourceFolder.Items.Item(i)
objItem.Move objTargetFolder
Next i
Set objDictionary = CreateObject("scripting.dictionary")
'Remove the duplicates
x = 0
For n = objTargetFolder.Items.count To 1 Step -1
Set objItem = objTargetFolder.Items.Item(n)
Select Case objItem.Class
Case olMail
strKey = objItem.Subject & "," & objItem.Body & "," & objItem.SentOn
Case olAppointment
strKey = objItem.Subject & "," & objItem.Start & "," & objItem.Duration & "," & objItem.Location & "," & objItem.Body
Case olContact
strKey = objItem.FullName & "," & objItem.Email1Address & "," & objItem.Email2Address & "," & objItem.Email3Address
Case olTask
strKey = objItem.Subject & "," & objItem.StartDate & "," & objItem.DueDate & "," & objItem.Body
End Select
strKey = Replace(strKey, ", ", Chr(32))
If objDictionary.Exists(strKey) = True Then
objItem.Delete
x = x + 1
Else
objDictionary.Add strKey, True
End If
Next n
'Prompt you of the count of removed duplicates
If x <> 0 Then
MsgBox x & " duplicates removed when merging!", vbInformation + vbOKOnly
End If
End If
End Sub
- 稍后您需要检查 Outlook 宏设置,确保宏已启用。
- 最后你可以试试看。
- 首先,回到新模块窗口。
- 接下来按 F5 键按钮触发此宏。
- 接下来,您需要选择要合并的两个文件夹。第一个是源文件夹,第二个是目标文件夹。
- 之后,Outlook会将所有项目从源文件夹移动到目标文件夹。同时,重复项也会被自动删除。
- 最终,您可能会收到一条消息,提示删除重复项的数量,如下面的屏幕截图:
微小的错误可能导致严重的崩溃
尽管加载了大量出色的功能,但 Outlook 仍然容易出现错误和损坏。 也许您遇到过各种 Outlook 问题。 许多用户倾向于忽略随机错误。 然而,正是这个微小的错误会引发严重的 Outlook 崩溃,从而危及 Outlook 文件。 因此,您不应忽视任何小错误。 相反,您应该尽快消除它们。 此外,你最好保持一个合适的 PST修复 工具,例如 DataNumen Outlook Repair. 凭借其高回收率,该公用事业公司已经超越了同行。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 损坏的sql 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

