KutoolsforOffice — 一套方案,五大工具。事半功倍。

Outlook:如何删除重复日历项

作者Sun修改日期

有时从其他设备导入事件后,日历中可能会出现重复项。为帮助您删除这些重复日历项,本文将介绍两种方法:当重复项较少时,可以逐一手动删除;若重复项较多,则可通过 VBA 批量删除。

手动删除重复日历项(逐个操作)

使用 VBA 一次性删除重复日历项


手动删除重复日历项(逐个操作)

 

若需逐个删除重复的日历项,请先按特定顺序排列日历项,以便清晰查看重复内容,然后逐项删除。

1. 通常情况下,日历默认处于“日历”视图。激活您想要删除重复项的日历后,点击“视图”>“更改视图”>“列表”。

手动逐一删除日历重复项的步骤

此时,日历已以列表方式呈现。

手动逐一删除日历重复项的步骤
手动逐一删除日历重复项的步骤

2. 接下来,指定一个用于判断日历项是否重复的条件,例如比较主题是否一致。点击日历列表中的“主题”,即可将所有主题相同的日历项集中显示。

手动逐一删除日历重复项的步骤

3. 此时,您可以右键单击同一主题的日历项,在弹出的菜单中选择“删除”,逐一将这些项移除。

手动逐一删除日历重复项的步骤

Outlook AI 邮件助手:智能回复,沟通更高效清晰(只需一键,轻松体验神奇效果!)

通过 Kutools for Outlook 的 AI 邮件助手,轻松提升您的日常 Outlook 工作效率。该强大工具能够智能学习您的邮件习惯,提供高效、精准的回复建议,优化邮件内容,助您轻松起草和润色邮件。
doc 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 适用于包含子文件夹的日历文件夹。


最佳办公效率工具

体验全新 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