メインコンテンツへスキップ

Outlook:重複するカレンダーアイテムを削除する方法

他のデバイスからイベントをインポートすると、カレンダーアイテムが重複する場合があります。 重複するカレンダーアイテムを削除するために、このチュートリアルではXNUMXつの異なる方法を紹介します。XNUMXつは重複が少ないときにXNUMXつずつ削除する方法、もうXNUMXつはVBAを使用してすべての重複を一度に削除する方法です。

重複するカレンダーアイテムをXNUMXつずつ手動で削除します

重複するカレンダーアイテムを一度に削除するVBA

Office タブ - Microsoft Office でタブによる編集と参照を有効にし、仕事をスムーズにします
Kutools for Outlook - 100 以上の高度な機能で Outlook を強化し、優れた効率を実現します
これらの高度な機能を使用して、Outlook 2021 ~ 2010 または Outlook 365 を強化します。 包括的な 60 日間の無料トライアルを利用して、メール エクスペリエンスを向上させてください。

重複するカレンダーアイテムをXNUMXつずつ手動で削除します

 

重複するカレンダーアイテムをXNUMXつずつ削除するには、最初に重複を明確に表示するために特定の順序でリストしてから、XNUMXつずつ削除する必要があります。

1.通常、カレンダーは カレンダー 重複を削除するカレンダーを表示してアクティブにし、[ View > ビューの変更 > リスト.

doc重複するカレンダーアイテムを削除する1

これで、カレンダーがリストとして表示されました。

doc重複するカレンダーアイテムを削除する1

doc重複するカレンダーアイテムを削除する1

2.次に、アイテムが同じ主題を持っているかどうかを比較することを想定して、アイテムが重複しているかどうかを比較するために使用する条件を指定します。 クリック SUBJECT カレンダーリストでは、同じ件名のすべてのアイテムが一緒に配置されます。

doc重複するカレンダーアイテムを削除する1

3.これで、アイテムを右クリックしてクリックすることにより、同じ主題を持つアイテムをXNUMXつずつ削除できます。 削除 ポップコンテキストメニューから。

doc重複するカレンダーアイテムを削除する1


重複するカレンダーアイテムを一度に削除するVBA

 

ここでは、さまざまな場合にカレンダーフォルダ内のすべての重複するカレンダーアイテムを削除できるVBAを紹介します。

1。 押す 他の + F11 有効にするキー アプリケーション向け Microsoft Visual Basic 窓。

2。 クリック インセット > モジュール 新しい空のモジュールを作成するには、以下のコードをコピーしてモジュールに貼り付けます。

VBA:XNUMXつの特定のカテゴリで重複するカレンダーアイテムをすべて削除します

'Sub RemoveDuplicateCalendar()
'UpdatebyExtendoffice20220413
  Dim xStores As Stores
  Dim xStore As Store
  Dim xRootFolder As Folder
  Dim xFolder As Object
  Set xStores = Application.Session.Stores
  For Each xStore In xStores
    Set xRootFolder = xStore.GetRootFolder
    For Each xFolder In xRootFolder.Folders
      Call ProcessFolders(xFolder)
    Next
  Next
  Set xStores = Nothing
End Sub

Sub ProcessFolders(ByVal CurrentFld As Folder)
  Dim xDictionary As Object
  Dim i As Long
  Dim xItem As Object
  Dim xKey As String
  Dim xSubFld As Folder
  On Error Resume Next
  If CurrentFld.DefaultItemType <> olAppointmentItem Then Exit Sub
  Set xDictionary = CreateObject("Scripting.Dictionary")
  For i = CurrentFld.Items.Count To 1 Step -1
    Set xItem = CurrentFld.Items.Item(i)
    'change categories as you need in below script
    If xItem.Categories = "date" Then
    'change the comparing items as you need
      xKey = xItem.Subject & xItem.Location & xItem.Body & xItem.Categories
      If xDictionary.Exists(xKey) = True Then
        xItem.Delete
      Else
        xDictionary.Add xKey, True
      End If
    End If
  Next i
  For Each xSubFld In CurrentFld.Folders
    ProcessFolders xSubFld
  Next
End Sub

このVBAでは、「date」このカテゴリは、件名、場所、本文、カテゴリを比較することで、必要に応じて変更できます。

doc重複するカレンダーアイテムを削除する1

3.次にを押します F5 キーを押すか、[実行]をクリックして、コード、ダイアログを実行します マクロ 飛び出します、選択します 重複したカレンダーを削除 をクリックし ラン doc重複するカレンダーアイテムを削除する1 .

doc重複するカレンダーアイテムを削除する1

次に、「日付」カテゴリの重複アイテムが削除されました。

VBA:カテゴリ間で重複するカレンダーアイテムをすべて削除します

Sub RemoveDuplicateCalendar()
'UpdatebyExtendoffice20220413
  Dim xStores As Stores
  Dim xStore As Store
  Dim xRootFolder As Folder
  Dim xFolder As Object
  Set xStores = Application.Session.Stores
  For Each xStore In xStores
    Set xRootFolder = xStore.GetRootFolder
    For Each xFolder In xRootFolder.Folders
      Call ProcessFolders(xFolder)
    Next
  Next
  Set xStores = Nothing
End Sub

Sub ProcessFolders(ByVal CurrentFld As Folder)
  Dim xDictionary As Object
  Dim i As Long
  Dim xItem As Object
  Dim xKey As String
  Dim xSubFld As Folder
  On Error Resume Next
  If CurrentFld.DefaultItemType <> olAppointmentItem Then Exit Sub
  Set xDictionary = CreateObject("Scripting.Dictionary")
  For i = CurrentFld.Items.Count To 1 Step -1
    Set xItem = CurrentFld.Items.Item(i)
    'change the comparing items as you need
      xKey = xItem.Subject & xItem.Location & xItem.Body & xItem.Categories
      If xDictionary.Exists(xKey) = True Then
        xItem.Delete
      Else
        xDictionary.Add xKey, True
      End If
  Next i
  For Each xSubFld In CurrentFld.Folders
    ProcessFolders xSubFld
  Next
End Sub

このコードを実行すると、各カテゴリの同じ件名、場所、本文、カテゴリにあるすべての重複が削除されます。

doc重複するカレンダーアイテムを削除する1

doc重複するカレンダーアイテムを削除する1

Note:上記のVBAはカレンダーフォルダで動作し、サブフォルダが含まれています。


最高のオフィス生産性向上ツール

Outlook用Kutools - Outlook を強化する 100 以上の強力な機能

🤖 AIメールアシスタント: AI の魔法を備えたインスタント プロのメール - ワンクリックで天才的な返信、完璧な口調、多言語の習得。メールを簡単に変革しましょう! ...

📧 自動メール: 不在時 (POP および IMAP で利用可能)  /  メール送信のスケジュール設定  /  メール送信時のルールによる自動CC/BCC  /  自動転送 (高度なルール)   /  あいさつを自動追加   /  複数受信者の電子メールを個別のメッセージに自動的に分割する ...

📨 電子メール管理: メールを簡単に思い出す  /  件名などで詐欺メールをブロック  /  重複するメールを削除する  /  高度な検索  /  フォルダーを統合する ...

📁 アタッチメント プロバッチ保存  /  バッチデタッチ  /  バッチ圧縮  /  自動保存   /  自動デタッチ  /  自動圧縮 ...

🌟 インターフェースマジック: 😊もっと可愛くてクールな絵文字   /  タブ付きビューで Outlook の生産性を向上  /  Outlook を閉じる代わりに最小化する ...

???? ワンクリックの驚異: 受信した添付ファイルをすべてに返信する  /   フィッシングメール対策  /  🕘送信者のタイムゾーンを表示 ...

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

オーバー 100の特長 あなたの探索をお待ちしています! ここをクリックして詳細をご覧ください。

 

 

Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Sadly neither of these work
This comment was minimized by the moderator on the site
I have tested the code and both of them work, What is your problem?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations