如何通过 VBA 快速删除文件夹中重复的 Outlook 项目

立即分享:

如果你想删除 Outlook 中的重复项目,一个一个地搜索和删除会很麻烦。 这个ost 会教你如何用Outlook VBA快速完成。

在我之前的文章中——“如何快速查找和删除 Outlook 中的重复邮件”,你可以学习一个查找和删除重复邮件的技巧,首先按主题排序邮件,然后按接收时间排序,然后按附件排序,找出重复邮件,最后选中重复邮件并按“删除”键。 这种方法虽然看似方便了点,但与使用Outlook VBA相比就麻烦多了。 通过以下VBA代码,无论是电子邮件、任务、联系人还是约会,您都可以通过单击快速删除重复项。 现在继续阅读以详细了解代码。

通过 VBA 快速删除文件夹中重复的 Outlook 项目

删除文件夹中重复的 Outlook 项目

  1. 到tar然后,启动您的 Outlook 程序。
  2. 然后按“Alt + F11”键按钮。
  3. 在随后出现的VBA编辑器窗口中,双击打开一个正在使用的模块或通过“插入”>“模块”直接插入一个新模块。
  4. 接下来将以下 VBA 代码复制并粘贴到模块中。
Sub RemoveDuplicateItems()
    Dim objFolder As Folder
    Dim objDictionary As Object
    Dim i As Long
    Dim objItem As Object
    Dim strKey As String

    Set objDictionary = CreateObject("scripting.dictionary")
    'Select a source folder
    Set objFolder = Outlook.Application.Session.PickFolder

    If Not (objFolder Is Nothing) Then
       For i = objFolder.Items.Count To 1 Step -1
           Set objItem = objFolder.Items.Item(i)
 
           Select Case objFolder.DefaultItemType
                  'Check email subject, body and sent time
                  Case olMailItem
                       strKey = objItem.Subject & "," & objItem.Body & "," & objItem.SentOn
                  'Check appointment subject, start time, duration, location and body
                  Case olAppointmentItem
                       strKey = objItem.Subject & "," & objItem.Start & "," & objItem.Duration & "," & objItem.Location & "," & objItem.Body
                  'Check contact full name and email address
                  Case olContactItem
                       strKey = objItem.FullName & "," & objItem.Email1Address & "," & objItem.Email2Address & "," & objItem.Email3Address
                  'Check task subject, start date, due date and body
                  Case olTaskItem
                       strKey = objItem.Subject & "," & objItem.StartDate & "," & objItem.DueDate & "," & objItem.Body
           End Select
 
           strKey = Replace(strKey, ", ", Chr(32))
 
           'Remove the duplicate items
           If objDictionary.Exists(strKey) = True Then
              objItem.Delete
           Else
              objDictionary.Add strKey, True
           End If
       Next i
    End If
End Sub

VBA 代码-快速删除文件夹中重复的 Outlook 项目

  1. 之后,对该宏进行数字签名并将您的 Outlook 宏安全级别更改为低。
  2. 稍后,您可以运行这个新的 VBA 项目。 直接点击工具栏中的“运行”图标。运行这个宏
  3. 随后,您将需要选择一个要删除重复项目的文件夹。选择一个文件夹
  4. 最后,所选文件夹中的重复项将被一次性删除。

保护易受攻击的 PST 数据

由于 PST 文件容易损坏,因此您应该花很多精力来保护您的 PST 文件。 例如,您应该防止 Outlook 被不当关闭。 此外,您需要准备一个健壮的 展望修复 工具,例如 DataNumen Outlook Repair 这将能够及时挽救您的 PST。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 恢复 SQL Server 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。