Note: The other languages of the website are Google-translated. Back to English

Outlook:如何删除重复的日历项目

有时,当我们从其他设备导入事件时,会有一些重复的日历项目。 为了去除重复的日历项,本教程介绍了两种不同的方法,一种是在重复项较少时逐个删除,另一种是使用VBA一次删除所有重复项。

手动删除重复的日历项

VBA一次删除重复的日历项目

Office选项卡-在Office中启用选项卡式编辑和浏览,并使工作更加容易...
Kutools for Outlook-为Microsoft Outlook带来100种强大的高级功能
  • 自动CC / BCC 根据规则发送电子邮件; 自动转发 按规则发送多封电子邮件; 自动回复 没有交换服务器,还有更多自动功能...
  • BCC警告 -如果您的邮件地址在密件抄送列表中,则当您尝试全部答复时显示消息; 缺少附件时提醒,还有更多提醒功能...
  • 回复(全部)带有所有附件 在邮件对话中; 一次回复许多电子邮件; 自动添加问候语 回复时自动将日期和时间添加到主题中...
  • 附件工具:自动分离,全部压缩,重命名,自动保存所有... 快速报告,计算所选邮件, 删除重复的邮件和联系人...
  • 超过100种高级功能将 解决您的大部分问题 在Outlook 2010-2019和365中提供。全功能60天免费试用。

手动删除重复的日历项

 

要逐个删除重复的日历项,您需要将它们按特定顺序列出以便首先清楚地查看重复项,然后将它们逐个删除。

1.一般来说,日历是在一个 日历 查看,激活要删除重复项的日历,然后单击 查看 > 变更检视 > 名单.

doc 删除重复的日历项目 1

现在日历已被视为列表。

doc 删除重复的日历项目 1

doc 删除重复的日历项目 1

2. 然后指定用于比较项目是否重复的条件,假设比较项目是否具有相同的主题。 点击 分科 在日历列表中,然后将具有相同主题的所有项目放在一起。

doc 删除重复的日历项目 1

3. 现在您可以通过右键单击项目并单击来将具有相同主题的项目一一删除 删除 从弹出的上下文菜单中。

doc 删除重复的日历项目 1


VBA一次删除重复的日历项目

 

这里介绍一些VBA,它可以在不同情况下删除日历文件夹中所有重复的日历项。

1。 按 其他 + F11 启用键 Microsoft Visual Basic应用程序 窗口。

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 中,它将删除“日期” 这个类别通过比较主题、位置、正文和类别,您可以根据需要更改它们。

doc 删除重复的日历项目 1

3.然后按 F5 键或单击 Run 运行代码,出现一个对话框 弹出,选择 删除重复日历 并点击 运行 doc 删除重复的日历项目 1 .

doc 删除重复的日历项目 1

然后删除了“日期”类别中的重复项。

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

运行此代码,每个类别中相同主题、位置、正文、类别的所有重复项均已删除。

doc 删除重复的日历项目 1

doc 删除重复的日历项目 1

备注:以上 VBA 作品在日历文件夹中包括子文件夹。


Kutools for Outlook-为Outlook带来100个高级功能,并使工作更加轻松!

  • 自动CC / BCC 根据规则发送电子邮件; 自动转发 自定义多封电子邮件; 自动回复 没有交换服务器,还有更多自动功能...
  • BCC警告 -当您尝试全部答复时显示消息 如果您的邮件地址在“密件抄送”列表中; 缺少附件时提醒,还有更多提醒功能...
  • 在邮件对话中回复(全部)带有所有附件; 回复许多电子邮件 很快; 自动添加问候语 回复时将日期添加到主题中...
  • 附件工具:管理所有邮件中的所有附件, 自动分离, 全部压缩,全部重命名,全部保存...快速报告, 计算选定的邮件...
  • 强大的垃圾邮件 习俗 删除重复的邮件和联系人... 使您能够在Outlook中做得更聪明,更快和更好。
拍摄kutools前景kutools选项卡1180x121
拍摄kutools前景kutools加标签1180x121
 
按评论排序
注释 (0)
还没有评分。 成为第一位评论!
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0  产品特性
建议地点