Outlook:重複するカレンダー項目を削除する方法
他のデバイスからイベントをインポートすると、カレンダーに重複した予定が作成されることがあります。本チュートリアルでは、こうした重複項目を削除するための2 つの方法をご紹介します。重複が少ない場合は1 件ずつ手動で削除し、大量にある場合は VBA を使って一括で削除します。
カレンダー項目を1 つずつ手動で重複を削除
重複するカレンダー項目を1 つずつ削除するには、まず一覧を特定の順序で表示して重複を明確に確認できるようにし、その後、1 つずつ削除する必要があります。
1。通常、カレンダーは「カレンダー」ビューに設定されています。「重複を削除したいカレンダー」をアクティブにして、「表示」>「表示の変更」>「一覧」の順にクリックしてください。

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


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

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

Outlook の AI メールアシスタント:ワンクリックで魔法のように、よりスマートな返信と明確なコミュニケーションを実現!
Kutools for Outlook の AI メールアシスタントで、日々のOutlook タスクをもっと効率的に。この強力なツールは過去のメールから学習し、的確で知的な返信を提案したり、メールの内容を最適化したり、メッセージの下書きや修正を簡単にサポートします。

この機能は以下のサポートを提供します:
- スマート返信:過去の会話に基づき、カスタマイズされ、正確で即使用可能な返信を取得できます。
- コンテンツ強化:メール本文を自動で明確かつ効果的な内容にブラッシュアップします。
- 簡単作成:キーワードを入力するだけで、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」カテゴリ内の重複を、件名・場所・本文・カテゴリの内容を比較して削除します。必要に応じて、これらの比較項目をカスタマイズできます。

3。次に、「F5」キーを押すか「実行」をクリックしてコードを実行します。「マクロ」ダイアログが表示されたら、「RemoveDuplicateCalendar」を選択して「実行」をクリックしてください。
。

これにより、「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 コードは、サブフォルダーを含むカレンダーフォルダーでも正常に動作します。
最高の Office 生産性ツール
まったく新しいKutools for Outlook を、100 以上の驚きの機能とともに体験しましょう!今すぐダウンロード!
🤖KUTOOLS AI:高度な AI 技術を活用して、メールの返信、要約、最適化、拡張、翻訳、作成など、あらゆる操作をラクラクこなします。
📧メール自動化:自動返信(POP および IMAP 対応)/メールのスケジュール送信/メール送信時にルールに基づいて自動 CC/BCC/自動転送(高度なルール)/自動で挨拶文を追加/複数の宛先を持つメールを個別のメッセージに自動分割...
📨メール管理:メールの取り消し/件名などを基準に詐欺メールをブロック/重複したメールを削除/高度な検索/フォルダーを整理...
📁添付ファイルプロ:一括保存/一括分離/一括圧縮/自動保存/自動的に切り離す/自動圧縮...
🌟インターフェースの魅力:😊さらに美しくクールな絵文字を多数収録/重要なメールが届いた際に通知/Outlook を閉じる代わりに最小化...
👍ワンクリックの驚き:全員に【Attachment】付きで返信/フィッシングメール対策/🕘送信者の現在時刻ゾーンを表示...
👩🏼🤝👩🏻連絡先とカレンダー:選択したメールから連絡先を追加を一括登録/連絡先グループを個別のグループに分割/誕生日のリマインダーを削除...
Kutools はお好みの言語でお使いいただけます!英語、スペイン語、ドイツ語、フランス語、中国語をはじめ、40 以上の言語をサポートしています!
ワンクリックでKutools for Outlook の機能を即解放!今すぐダウンロードして、効率を飛躍的にアップさせましょう!


🚀 ワンクリックダウンロード — 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