複数のOutlookフォルダーのすべてのアイテムをマージし、重複がないことを保証する場合は、この記事で紹介した方法を使用できます。 それはあなたがコルクのようにそれを達成するのを助けるためにVBAコードを使用しています。

複数のOutlook連絡先フォルダーのすべての連絡先をマージするなど、複数のOutlookフォルダーのアイテムをマージしたい場合があります。 この状況で、これらのフォルダ間に重複する連絡先がある場合は、マージ中に重複が自動的に削除されることを期待する必要があります。 このような状況では、次のVBAコードを使用して簡単に実現できます。
重複することなく複数のフォルダからアイテムをマージする
- にtarで、Outlookアプリケーションを起動します。
- 次に、Outlookのメイン画面で[Alt + F11]キーボタンを押して、OutlookVBAエディターにアクセスする必要があります。
- 次に、「Microsoft Visual Basic for Applications」ウィンドウで、使用されていないモジュールを開く必要があります。
- その後、次のVBAコードをこのモジュールにコピーする必要があります。
'Here we take "merging two folders" as an example
Sub MergeOutlookFolders_WithoutDuplicates()
Dim objSourceFolder As Outlook.Folder
Dim objTargetFolder As Outlook.Folder
Dim i, n, x As Long
Dim objItem As Object
Dim objDictionary As Object
Dim strKey As String
Set objSourceFolder = Application.Session.PickFolder
Set objTargetFolder = Application.Session.PickFolder
If objSourceFolder.DefaultItemType <> objTargetFolder.DefaultItemType Then
MsgBox "Error: The two folders are not in same type!", vbExclamation + vbOKOnly
Else
'Merge the two folders
For i = objSourceFolder.Items.count To 1 Step -1
Set objItem = objSourceFolder.Items.Item(i)
objItem.Move objTargetFolder
Next i
Set objDictionary = CreateObject("scripting.dictionary")
'Remove the duplicates
x = 0
For n = objTargetFolder.Items.count To 1 Step -1
Set objItem = objTargetFolder.Items.Item(n)
Select Case objItem.Class
Case olMail
strKey = objItem.Subject & "," & objItem.Body & "," & objItem.SentOn
Case olAppointment
strKey = objItem.Subject & "," & objItem.Start & "," & objItem.Duration & "," & objItem.Location & "," & objItem.Body
Case olContact
strKey = objItem.FullName & "," & objItem.Email1Address & "," & objItem.Email2Address & "," & objItem.Email3Address
Case olTask
strKey = objItem.Subject & "," & objItem.StartDate & "," & objItem.DueDate & "," & objItem.Body
End Select
strKey = Replace(strKey, ", ", Chr(32))
If objDictionary.Exists(strKey) = True Then
objItem.Delete
x = x + 1
Else
objDictionary.Add strKey, True
End If
Next n
'Prompt you of the count of removed duplicates
If x <> 0 Then
MsgBox x & " duplicates removed when merging!", vbInformation + vbOKOnly
End If
End If
End Sub
- 後で、Outlookのマクロ設定を確認して、マクロが有効になっていることを確認する必要があります。
- 最後に、試してみることができます。
- まず、新しいモジュールウィンドウに戻ります。
- 次に、F5キーボタンを押して、このマクロをトリガーします。
- 次に、マージするXNUMXつのフォルダーを選択する必要があります。 最初のものはソースのものであり、XNUMX番目のものは tarXNUMXつ取得します。
- その後、Outlookはすべてのアイテムをソースフォルダから tarXNUMXつ取得します。 また、当面の間、重複は自動的に削除されます。
- 最終的に、以下のスクリーンショットのように、削除された重複の数を求めるメッセージが表示される場合があります。
小さなエラーは大きなクラッシュにつながる可能性があります
多数の優れた機能が搭載されているにもかかわらず、Outlookは依然としてエラーや破損の影響を受けやすくなっています。 おそらく、さまざまなOutlookの問題が発生しています。 多くのユーザーは、ランダムエラーを無視する傾向があります。 ただし、深刻なOutlookのクラッシュを引き起こすのは小さなエラーであり、Outlookファイルを危険にさらします。 したがって、小さなエラーを無視するべきではありません。 代わりに、できるだけ早くそれらを削除する必要があります。 さらに、あなたは適切な状態を維持したほうがよい PST修復 などのツール DataNumen Outlook Repair。 その高い回復率により、このユーティリティは同業他社を引き継いでいます。
著者紹介:
Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 破損したSQL と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

