VBAを介してフォルダ内の重複するOutlookアイテムをすばやく削除する方法

今すぐ共有:

Outlookで重複したアイテムを削除したい場合、一つずつ検索して削除するのは非常に面倒です。この記事では、Outlook VBAを使ってそれを素早く行う方法をご紹介します。

前回の記事で–「Outlookで重複する電子メールをすばやく見つけて削除する方法」では、重複するメールを見つけて削除する方法を学ぶことができます。最初にメールを件名、受信時間、添付ファイルで並べ替えて重複アイテムを見つけ、最後に重複アイテムを選択して「Delete」キーを押します。 この方法は少し便利に見えますが、OutlookVBAを使用する場合に比べてはるかに面倒です。 次の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 と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。