如何通過VBA快速刪除文件夾中的重複Outlook項目

立即分享:

如果您想刪除 Outlook 中的重複項目,逐一尋找和刪除會非常麻煩。本文將教您如何使用 Outlook VBA 快速完成此操作。

在我上一篇文章中-“如何在Outlook中快速查找和刪除重複的電子郵件”,您可以學習查找和刪除重複電子郵件的技巧,該技巧首先按主題,按接收時間然後按附件對電子郵件進行排序以找出重複項,最後選擇重複項並按“刪除”鍵。 儘管此方法似乎更方便一些,但與使用Outlook VBA相比,它要麻煩得多。 通過以下VBA代碼,無論電子郵件,任務,聯繫人或約會,您都可以一鍵快速刪除重複項。 現在繼續閱讀以獲取詳細的代碼。

通過VBA快速刪除文件夾中的重複Outlook項目

刪除文件夾中的重複Outlook項目

  1. 首先,啟動 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不正確地關閉。 此外,您需要準備一個健壯的 Outlook修復 工具,例如 DataNumen Outlook Repair 可以及時挽救您的PST。

作者簡介:

Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 恢復 SQL Server 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。