KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

Outlook:如何移除重複的日曆項目

作者Sun修改日期

有時從其他裝置匯入活動時,日曆中可能會出現重複項目。本教學將介紹兩種清除方式:若重複項目較少,可逐一手動刪除;若數量較多,則可透過 VBA 一次全部移除。

手動刪除重複日曆項目(逐一處理)

使用 VBA 刪除重複日曆項目(一次處理)


手動刪除重複日曆項目(逐一處理)

 

若要逐一移除重複的日曆項目,請先將它們依特定順序排列,以便清楚辨識重複項目,再逐一刪除。

1. 日曆預設通常為「日曆」檢視模式。請先啟用您要刪除重複事件的日曆,然後點選「檢視」>「變更檢視」>「清單」。

手動逐一移除重複行事曆項目的步驟

日曆現已改以清單形式呈現。

手動逐一移除重複行事曆項目的步驟
手動逐一移除重複行事曆項目的步驟

2. 接著設定一個條件來判斷哪些項目屬於重複項目,例如比對項目是否具有相同的主旨。在日曆清單中點選「主旨」欄位,所有主旨相同的項目便會自動歸類在一起。

手動逐一移除重複行事曆項目的步驟

3. 現在您可以逐一右鍵點選主旨相同的項目,並在彈出的快捷功能表中選擇「刪除」,輕鬆移除它們。

手動逐一移除重複行事曆項目的步驟

Outlook 中的 AI 郵件助理:聰明回覆、清晰溝通,一鍵輕鬆搞定!

透過 Kutools for Outlook 的 AI 郵件助理,輕鬆簡化您每日的 Outlook 工作!這款強大工具能學習您過往的郵件內容,提供智慧又精準的回覆建議、優化郵件文字,並協助您毫不費力地起草與潤飾訊息。
doc ai email handle

此功能支援:

  • 智慧回覆:根據您過往的對話,量身打造精準到位的回應,立即可用。
  • 內容強化:自動優化您的郵件文字,提升清晰度與影響力。
  • 輕鬆撰寫:只需提供關鍵字,其餘交給 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)預約寄送郵件寄信時依規則自動抄送密送自動轉發(高級規則)自動加入問候語自動將多收件人郵件拆分為個別訊息……

📨 郵件管理撤回郵件依主旨等條件封鎖詐騙郵件刪除重複郵件高級搜尋整合文件夾……

📁 附件專業版批次儲存批次解除附加批次壓縮自動保存自動拆離自動壓縮……

🌟 介面魔法😊更多精美酷炫表情符號重要郵件來到時提醒您最小化 Outlook 而非關閉……

👍 一鍵奇蹟帶附件全部答復防釣魚郵件🕘顯示發送者當前時間時區……

👩🏼‍🤝‍👩🏻 聯絡人與行事曆從選取的郵件中批次新增聯絡人將聯繫人組拆分為個別群組移除生日提醒……

用您的慣用語言暢享 Kutools — 完整支援英文、西班牙文、德文、法文、中文等 40 多種語言!

立即一鍵解鎖 Kutools for Outlook!別再等待,馬上下載,全面提升工作效率!

kutools for outlook features1kutools for outlook features2

🚀 一鍵下載 — 立即取得所有 Office 增益集

強烈推薦:Kutools for Office(5 合 1)

一鍵下載五個安裝程式,一次完成 — Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro立即點擊下載!

  • 一鍵便利:只需一次操作,即可下載全部五個安裝套件!
  • 🚀 隨時應對任何 Office 任務:按需安裝所需增益集,立即提升工作效率!
  • 🧰 包含:Kutools for Excel/Kutools for Outlook/Kutools for Word/Office Tab Pro/Kutools for PowerPoint