KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Outlook で重複を除き、2 つのフォルダーを1 つに統合するにはどうすればよいですか?

著者Sun変更日

Outlook では、複数のメールアカウントや多数のフォルダーを利用している場合があります。特定のケースでは、2 つのフォルダーを1 つに統合し、重複するアイテムを削除したいと思うこともあるでしょう。この作業を迅速に完了するにはどうすればよいでしょうか?本記事では、Outlook でこの処理を可能な限りスピーディーに行うための VBA コードをご紹介します。

VBA コードで重複を除いて2 つのフォルダーを1 つに統合する

Kutools for Outlook で複数のフォルダーを統合し、重複アイテムを削除


VBA コードで重複を除いて2 つのフォルダーを1 つに統合する

2 つのフォルダーを1 つに統合し、重複アイテムを削除するには、以下の手順で VBA コードをご利用ください。

1。「Alt + F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きましょう。

2。左側のペインで「Project1」内の「ThisOutlookSession」をダブルクリックし、右側のスクリプトウィンドウに以下のコードをコピー&ペーストしてください。

VBA:重複を除いて2 つのフォルダーを統合

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

重複のないフォルダーのドキュメント統合 1

3。「ツール」>「参照設定」をクリックし、表示されたダイアログで「Microsoft Scripting Runtime」のチェックボックスをオンにしてください。

重複のないフォルダーのドキュメント統合 2ドキュメント右矢印重複のないフォルダーのドキュメント統合 3

4。「OK」をクリックし、「F5」キーを押してコードを実行します。すると、最初に統合したいフォルダーを選択するよう促すダイアログが表示されます(注:最初のフォルダー内のすべてのアイテムは、2 番目のフォルダーと統合された後に削除されます)。
重複のないフォルダーのドキュメント統合 4

5。「OK」をクリックします。2 回目に表示されるダイアログで、比較および統合の対象となる2 番目のフォルダーを選択してください。
重複のないフォルダーのドキュメント統合 5

6。「OK」をクリックすると、最初のフォルダー内のすべてのアイテムが2 番目のフォルダーに移動され、重複するアイテムは自動的に削除されます。
重複のないフォルダーのドキュメント統合 6


Kutools for Outlook で複数のフォルダーを統合し、重複アイテムを削除

VBA コードに不慣れな方は、「Kutools for Outlook」の便利なアドインをぜひお試しください。「フォルダの整理」と「重複したメール」のユーティリティを使えば、この作業を簡単に、しかも素早くこなせます。

Outlook の非効率さにサヨナラしましょう!Kutools for Outlook なら、メールの一括処理がもっと簡単になります。今なら30 日間の無料トライアル付き!Kutools for Outlook を今すぐダウンロード!

複数のフォルダーを統合

1。「KUTOOLS PLUS」>「フォルダの整理」をクリックし、「複数のフォルダを1 つのフォルダに整理する」ダイアログで「追加」をクリックして統合したいフォルダーをリストに追加し、その中から宛先フォルダーとして使用するフォルダーを1 つ選択します。
重複をまとめて削除するドキュメント 1

2。「OK」をクリックします。これにより、選択したフォルダー内のすべてのアイテムが指定されたフォルダーに統合されます。
重複をまとめて削除するドキュメント 2

重複アイテムを削除

3。「Kutools」>「重複削除」>「重複したメール」をクリックします。表示される「重複メール」ダイアログで、重複を削除するフォルダーにチェックを入れます。
重複をまとめて削除するドキュメント 3

4。「次へ」をクリックします。「重複メール設定」ダイアログで、メールを比較する基準を指定し、「重複メールを削除する」オプションにチェックを入れて、「単一のフォルダ内で比較する」を選択します。
重複をまとめて削除するドキュメント 4

5。「次へ」>「次へ」をクリックすると、重複したメールがフィルターされます。「重複メッセージを削除」ボタンをクリックしてから「OK」を押すと、重複したメールが正常に削除されます。
重複をまとめて削除するドキュメント 5重複のないフォルダーのドキュメント統合 6


最高の Office 生産性ツール

まったく新しいKutools for Outlook を、100 以上の驚きの機能とともに体験しましょう!今すぐダウンロード!

🤖KUTOOLS AI高度な AI 技術を活用して、メールの返信、要約、最適化、拡張、翻訳、作成など、あらゆる操作をラクラクこなします。

📧メール自動化自動返信(POP および IMAP 対応)/メールのスケジュール送信/メール送信時にルールに基づいて自動 CC/BCC/自動転送(高度なルール)/自動で挨拶文を追加/複数の宛先を持つメールを個別のメッセージに自動分割...

📨メール管理メールの取り消し/件名などを基準に詐欺メールをブロック/重複したメールを削除/高度な検索/フォルダーを整理...

📁添付ファイルプロ一括保存/一括分離/一括圧縮/自動保存/自動的に切り離す/自動圧縮...

🌟インターフェースの魅力😊さらに美しくクールな絵文字を多数収録/重要なメールが届いた際に通知/Outlook を閉じる代わりに最小化...

👍ワンクリックの驚き全員に【Attachment】付きで返信/フィッシングメール対策/🕘送信者の現在時刻ゾーンを表示...

👩🏼‍🤝‍👩🏻連絡先とカレンダー選択したメールから連絡先を追加を一括登録/連絡先グループを個別のグループに分割/誕生日のリマインダーを削除...

Kutools はお好みの言語でお使いいただけます!英語、スペイン語、ドイツ語、フランス語、中国語をはじめ、40 以上の言語をサポートしています!

ワンクリックでKutools for Outlook の機能を即解放!今すぐダウンロードして、効率を飛躍的にアップさせましょう!

kutools for outlook features1kutools for outlook features2

🚀 ワンクリックダウンロード — Office アドインをすべて入手

強く推奨:Kutools for Office(5-in-1)

ワンクリックで5 つのインストーラーを 一括ダウンロード! ―Kutools for Excel、Outlook、Word、PowerPointおよびOffice Tab Pro今すぐダウンロード!

  • ワンクリックで簡単操作:5 つのセットアップパッケージをたった1 回のクリックで一括ダウンロードできます。
  • 🚀どんな Office 作業にも対応可能:必要なときに、必要なアドインをすぐインストールできます。
  • 🧰含まれるもの:Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint