Note: The other languages of the website are Google-translated. Back to English

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

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

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

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

Officeタブ-Officeでタブ付きの編集と閲覧を有効にし、作業をはるかに簡単にします...
Kutools for Outlook-100の強力な高度な機能をMicrosoftOutlookにもたらします
  • 自動CC / BCC メール送信時のルールによる。 自動転送 ルールによる複数の電子メール。 自動返信 Exchangeサーバーなし、およびより多くの自動機能...
  • BCC警告 -メールアドレスがBCCリストにある場合、すべてに返信しようとするとメッセージを表示します。 添付ファイルがない場合に通知する、その他の機能を思い出させる...
  • すべての添付ファイルで(すべて)返信 メールでの会話。 一度に多くのメールに返信します。 あいさつを自動追加 返信するとき; 件名に日付と時刻を自動追加...
  • アタッチメントツール:自動デタッチ、すべて圧縮、すべての名前変更、すべて自動保存... クイックレポート、選択したメールを数える、 重複するメールと連絡先を削除する...
  • 100以上の高度な機能が あなたの問題のほとんどを解決します Outlook2010-2019および365で。全機能60日間の無料トライアル。

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

 

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

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

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 キーを押すか、[実行]をクリックして、コード、ダイアログを実行します マクロ 飛び出します、選択します RemoveDuplicateCalendar をクリックし ラン 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

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


Kutools for Outlook-100の高度な機能をOutlookにもたらし、作​​業をはるかに簡単にします!

  • 自動CC / BCC メール送信時のルールによる。 自動転送 カスタムによる複数の電子メール。 自動返信 Exchangeサーバーなし、およびより多くの自動機能...
  • BCC警告 -全員に返信しようとするとメッセージを表示する メールアドレスがBCCリストにある場合; 添付ファイルがない場合に通知する、その他の機能を思い出させる...
  • メール会話のすべての添付ファイルで(すべて)返信; 多くのメールに返信する すぐに; あいさつを自動追加 返信するとき; 件名に日付を追加...
  • 添付ファイルツール:すべてのメールのすべての添付ファイルを管理し、 自動デタッチ, すべて圧縮、すべての名前を変更、すべて保存...クイックレポート、 選択したメールを数える...
  • 強力な迷惑メール 習慣による; 重複するメールと連絡先を削除する... Outlookでよりスマートに、より速く、より良くすることができます。
ショットkutoolsの見通しkutoolsタブ1180x121
ショットkutoolsの見通しkutoolsプラスタブ1180x121
 
コメントを並べ替える
コメント (0)
まだ評価はありません。 最初に評価してください!
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0  文字
推奨される場所