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

Outlook:重複するカレンダー項目を削除する方法

著者Sun変更日

他のデバイスからイベントをインポートすると、カレンダーに重複した予定が作成されることがあります。本チュートリアルでは、こうした重複項目を削除するための2 つの方法をご紹介します。重複が少ない場合は1 件ずつ手動で削除し、大量にある場合は VBA を使って一括で削除します。

カレンダー項目を1 つずつ手動で重複を削除

VBA でカレンダー項目を一度に重複を削除


カレンダー項目を1 つずつ手動で重複を削除

 

重複するカレンダー項目を1 つずつ削除するには、まず一覧を特定の順序で表示して重複を明確に確認できるようにし、その後、1 つずつ削除する必要があります。

1。通常、カレンダーは「カレンダー」ビューに設定されています。「重複を削除したいカレンダー」をアクティブにして、「表示」>「表示の変更」>「一覧」の順にクリックしてください。

重複するカレンダー項目を1つずつ手動で削除する手順

これでカレンダーが一覧形式で表示されます。

重複するカレンダー項目を1つずつ手動で削除する手順
重複するカレンダー項目を1つずつ手動で削除する手順

2。次に、項目の重複を判定する条件を指定します。たとえば、件名(サブジェクト)が同一かどうかで比較すると仮定しましょう。「カレンダーの一覧」で「件名」をクリックすると、同じ件名を持つすべての項目がグループ化されて表示されます。

重複するカレンダー項目を1つずつ手動で削除する手順

3。これで、同じ件名を持つ項目を1 つずつ削除できます。項目を右クリックし、表示されるコンテキストメニューから「削除」を選択してください。

重複するカレンダー項目を1つずつ手動で削除する手順

Outlook の AI メールアシスタント:ワンクリックで魔法のように、よりスマートな返信と明確なコミュニケーションを実現!

Kutools for Outlook の AI メールアシスタントで、日々のOutlook タスクをもっと効率的に。この強力なツールは過去のメールから学習し、的確で知的な返信を提案したり、メールの内容を最適化したり、メッセージの下書きや修正を簡単にサポートします。
doc ai email handle

この機能は以下のサポートを提供します:

  • スマート返信:過去の会話に基づき、カスタマイズされ、正確で即使用可能な返信を取得できます。
  • コンテンツ強化:メール本文を自動で明確かつ効果的な内容にブラッシュアップします。
  • 簡単作成:キーワードを入力するだけで、AI が複数の書式スタイルで残りの作業を自動処理します。
  • インテリジェント拡張:文脈を的確に捉えた提案であなたのアイデアをさらに広げます。
  • 要約機能:長いメールを瞬時に簡潔な概要にまとめてくれます。
  • グローバル対応:メールをあらゆる言語に簡単に翻訳できます。

この機能は以下のサポートを提供します:

  • スマートメール返信
  • 最適化されたコンテンツ
  • キーワードベースの下書き
  • インテリジェントなコンテンツ拡張
  • メール要約
  • 多言語翻訳

今すぐ始めましょう—AI メールアシスタントを今すぐダウンロードして、AI メールアシスタントを今すぐダウンロード!


VBA でカレンダー項目を一度に重複を削除

 

ここでは、さまざまなケースに対応し、カレンダーフォルダー内の重複するカレンダー項目をすべて削除できる VBA コードをご紹介します。

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

2。「挿入」>「標準モジュール」をクリックして新しい空白のモジュールを作成し、以下のコードをコピーして貼り付けます。

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 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」カテゴリ内の重複を、件名・場所・本文・カテゴリの内容を比較して削除します。必要に応じて、これらの比較項目をカスタマイズできます。

VBAを使用して重複するカレンダー項目を一度に削除する手順

3。次に、「F5」キーを押すか「実行」をクリックしてコードを実行します。「マクロ」ダイアログが表示されたら、「RemoveDuplicateCalendar」を選択して「実行」をクリックしてください。VBAを使用して重複するカレンダー項目を一度に削除する手順

VBAを使用して重複するカレンダー項目を一度に削除する手順

これにより、「date」カテゴリ内の重複する項目が自動的に削除されます。

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

このコードを実行すると、各カテゴリ内で件名・場所・本文・カテゴリが完全に一致する重複アイテムがすべて削除されます。

VBAを使用して重複するカレンダー項目を一度に削除する手順
VBAを使用して重複するカレンダー項目を一度に削除する手順

:上記の VBA コードは、サブフォルダーを含むカレンダーフォルダーでも正常に動作します。


最高の 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