Outlookで重複することなくXNUMXつのフォルダーをXNUMXつのフォルダーにマージするにはどうすればよいですか?
Outlookでは、多数のフォルダーを持つ多数の電子メールアカウントを持っている場合があります。場合によっては、XNUMXつのフォルダーをXNUMXつにマージして、重複するアイテムを削除する必要があります。 どうすればこの仕事をすばやく解決できますか? この記事では、Outlookでできるだけ早く処理できるようにVBAコードを紹介します。
VBAコードで重複のないXNUMXつのフォルダをXNUMXつにマージ
Kutools for Outlookを使用して、複数のフォルダーをマージし、重複するアイテムを削除します
VBAコードで重複のないXNUMXつのフォルダをXNUMXつにマージ
XNUMXつのフォルダーをXNUMXつにマージし、重複するアイテムを削除するには、次の手順でVBAコードを使用して処理できます。
1。 押す Altキー+ F11 を有効にするためのキー アプリケーション向け Microsoft Visual Basic ウィンドウを使用して入力ファイルを追加します。
2.でダブルクリックします このOutlookSession から Project1 左側のペインで、以下のコードをコピーして右側のスクリプトに貼り付けます。
VBA:重複せずにXNUMXつのフォルダーをマージする
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
3。 クリック ツール > 参考文献 ポップダイアログで、チェックします Microsoftスクリプトランタイム チェックボックスをオンにします。
4。 クリック OK。 今すぐプレス F5 コードを実行するためのキー。 マージする最初のフォルダを選択するように促すダイアログが表示されます(注:最初のフォルダのすべてのアイテムは、XNUMX番目のフォルダとマージした後に削除されます)。
5。 クリック OK、XNUMX番目のポップダイアログで、比較およびマージするXNUMX番目のフォルダーを選択します。
6。 クリック OK、これで、最初のフォルダー内のすべてのアイテムがXNUMX番目のフォルダーに移動され、重複するアイテムも削除されます。
Kutools for Outlookを使用して、複数のフォルダーをマージし、重複するアイテムを削除します
VBAコードに慣れていない場合は、 Kutools for Outlook、便利なアドイン、 フォルダーの統合 & 重複するメール このジョブを簡単かつ迅速に処理できるユーティリティ。
Kutools for Outlook , 含まれています 100+ Microsoft Outlook 2016、2013、2010、およびOffice365の強力な機能とツール。 |
||
無料インストール Outlook用Kutoolsを実行し、次の手順を実行します。
複数のフォルダをマージする
1。 クリック クツールズプラス > フォルダーの統合、次に 複数のフォルダをXNUMXつにマージ ダイアログ、クリック Add マージされるリストにフォルダーを追加するには、宛先フォルダーとしてフォルダーを選択します。
2。 クリック OK > OK。 これで、選択したフォルダー内のすべてのアイテムがXNUMXつの特定のフォルダーにマージされました。
重複するアイテムを削除する
3。 クリック クツール > 重複を削除 > 重複するメール。 その後、 重複するメッセージ ダイアログで、重複を削除するフォルダを確認します。
4。 クリック Nextで 重複するメッセージ設定 ダイアログで、メールの比較に使用する基準を指定して、チェックします 重複するメッセージを削除する オプションと選択 単一のフォルダ内の重複メッセージを比較します.
5。 クリック Next > Next、重複するメールはフィルタリングされています。 クリック 重複するメッセージを削除する ボタン> OK 重複するメールを正常に削除します。
最高のオフィス生産性向上ツール
Kutools for Outlook - Outlook を強化する 100 以上の強力な機能
🤖 AIメールアシスタント: AI の魔法を備えたインスタント プロのメール - ワンクリックで天才的な返信、完璧な口調、多言語の習得。メールを簡単に変革しましょう! ...
📧 自動メール: 不在時 (POP および IMAP で利用可能) / メール送信のスケジュール設定 / メール送信時のルールによる自動CC/BCC / 自動転送 (高度なルール) / あいさつを自動追加 / 複数受信者の電子メールを個別のメッセージに自動的に分割する ...
📨 電子メール管理: メールを簡単に思い出す / 件名などで詐欺メールをブロック / 重複するメールを削除する / 高度な検索 / フォルダーを統合する ...
📁 アタッチメント プロ: バッチ保存 / バッチデタッチ / バッチ圧縮 / 自動保存 / 自動デタッチ / 自動圧縮 ...
🌟 インターフェースマジック: 😊もっと可愛くてクールな絵文字 / タブ付きビューで Outlook の生産性を向上 / Outlook を閉じる代わりに最小化する ...
???? ワンクリックの驚異: 受信した添付ファイルをすべてに返信する / フィッシングメール対策 / 🕘送信者のタイムゾーンを表示 ...
👩🏼🤝👩🏻 連絡先とカレンダー: 選択したメールから連絡先を一括追加 / 連絡先グループを個別のグループに分割する / 誕生日のリマインダーを削除する ...
オーバー 100の特長 あなたの探索をお待ちしています! ここをクリックして詳細をご覧ください。