Outlook: 重複するカレンダー項目を削除する方法
時々、他のデバイスからイベントをインポートすると、いくつかの重複したカレンダー項目が存在することがあります。このチュートリアルでは、重複したカレンダー項目を削除するための2つの異なる方法を紹介します。一つは、重複が少ない場合に1つずつ削除する方法で、もう一つはVBAを使用してすべての重複を一度に削除する方法です。
手動で1つずつ重複するカレンダー項目を削除する
重複するカレンダー項目を1つずつ削除するには、まず重複を明確に確認できるように特定の順序でリスト化し、その後、1つずつ削除する必要があります。
1. 通常、カレンダーは「カレンダー」ビューになっています。重複を削除したいカレンダーをアクティブにし、「表示」>「表示の変更」>「リスト」をクリックします。

これで、カレンダーがリスト形式で表示されます。


2. 次に、アイテムが重複しているかどうかを比較するために条件を指定します。例えば、件名が同じかどうかを比較するとします。カレンダーリストの「件名」をクリックすると、同じ件名を持つすべてのアイテムが一緒に配置されます。

3. これで、同じ件名を持つアイテムを右クリックして「削除」を選択することで、1つずつ削除できます。

OutlookのAIメールアシスタント:スマートな返信、クリアなコミュニケーション(ワンクリックで魔法のような操作!) 無料
Kutools for OutlookのAIメールアシスタントを使用して、毎日のOutlookタスクを効率化しましょう。この強力なツールは、過去のメールから学習し、インテリジェントで正確な返信を提供し、メールの内容を最適化し、メッセージの作成や修正を手間なく行うことができます。

この機能がサポートする内容:
- スマート返信:過去の会話に基づいて調整された、的確で使用準備の整った返信を取得します。
- 強化されたコンテンツ:メールの文章を自動的に洗練させ、明瞭さと影響力を高めます。
- 簡単な作成:キーワードを入力するだけで、複数のライティングスタイルで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では、件名、場所、本文、カテゴリを比較して「日付」カテゴリ内のすべての重複を削除します。必要に応じてこれらを変更できます。

3. そして「F5」 キーを押すか、または「実行」をクリックしてコードを実行します。「マクロ」ダイアログがポップアップ表示され、「RemoveDuplicateCalendar」を選択して「実行」をクリックします。 .

これで、「日付」カテゴリ内の重複項目が削除されました。
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は、サブフォルダーを含むカレンダーフォルダーで動作します。
最高のオフィス生産性ツール
速報: Kutools for Outlook が無料版をリリース!
新しい Kutools for Outlook の無料版を体験してください。70以上の素晴らしい機能が永遠に使えます!今すぐダウンロードをクリック!
🤖 Kutools AI : 高度なAI技術を使用して、メールの返信、要約、最適化、拡張、翻訳、作成を簡単に行います。
📧 メール自動化: 自動返信 (POPとIMAPで利用可能) / メール送信のスケジュール / メール送信時にルールによる自動 CC/BCC / 自動転送 (高度なルール) / 自動挨拶追加 / 複数の宛先を持つメールを個別のメールに自動的に分割...
📨 メール管理: メールの取り消し / 件名やその他によるスパムメールのブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理...
📁 添付ファイルプロ: バッチ保存 / バッチ切り離し / バッチ圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮...
🌟 インターフェースマジック: 😊より美しくクールな絵文字 /重要なメールが来たときに通知 / クローズ中ではなくOutlookを最小化...
👍 ワンクリックの驚き: 全員に【Attachment】付きで返信 / フィッシング対策メール / 🕘送信者のタイムゾーンを表示...
👩🏼🤝👩🏻 連絡先とカレンダー: 選択したメールから連絡先を一括追加 /連絡先グループを個別のグループに分割 / 誕生日のリマインダーを削除...
Kutools for Outlook をワンクリックで即座にアンロック。待たずに今すぐダウンロードして効率を高めましょう!

