Outlook:如何删除重复的日历项目
有时,当我们从其他设备导入事件时,会有一些重复的日历项目。 为了去除重复的日历项,本教程介绍了两种不同的方法,一种是在重复项较少时逐个删除,另一种是使用VBA一次删除所有重复项。
- 自动发送电子邮件 自动CC / BCC, 自动转发 按规则; 发送 自动回复 (不在办公室)无需交换服务器...
- 获取类似提醒 BCC警告 当您在密件抄送列表中回复所有内容时,以及 缺少附件时提醒 对于忘记的附件...
- 提高电子邮件效率 回复(全部)并附上附件, 自动添加问候语或日期和时间到签名或主题中, 回复多封电子邮件...
- 简化电子邮件发送 撤回电子邮件, 附件工具 (压缩全部、自动保存全部...)、 删除重复及 快速报告...
手动删除重复的日历项
要逐个删除重复的日历项,您需要将它们按特定顺序列出以便首先清楚地查看重复项,然后将它们逐个删除。
1.一般来说,日历是在一个 日历 查看,激活要删除重复项的日历,然后单击 查看 > 变更检视 > 清单.
现在日历已被视为列表。
2. 然后指定用于比较项目是否重复的条件,假设比较项目是否具有相同的主题。 点击 分科 在日历列表中,然后将具有相同主题的所有项目放在一起。
3. 现在您可以通过右键单击项目并单击来将具有相同主题的项目一一删除 删除 从弹出的上下文菜单中。
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 中,它将删除“日期” 这个类别通过比较主题、位置、正文和类别,您可以根据需要更改它们。
3.然后按 F5 键或单击 Run 运行代码,出现一个对话框 宏 弹出,选择 删除重复日历 并点击 运行 .
然后删除了“日期”类别中的重复项。
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 - 超过 100 种强大功能可增强您的 Outlook
🤖 人工智能邮件助手: 具有人工智能魔力的即时专业电子邮件——一键天才回复、完美语气、多语言掌握。轻松改变电子邮件! ...
📧 电子邮件自动化: 外出(适用于 POP 和 IMAP) / 安排发送电子邮件 / 发送电子邮件时按规则自动抄送/密件抄送 / 自动转发(高级规则) / 自动添加问候语 / 自动将多收件人电子邮件拆分为单独的消息 ...
📨 电子邮件管理: 轻松回忆电子邮件 / 按主题和其他人阻止诈骗电子邮件 / 删除重复的电子邮件 / 高级搜索 / 合并文件夹 ...
📁 附件专业版: 批量保存 / 批量分离 / 批量压缩 / 自动保存 / 自动分离 / 自动压缩 ...
🌟 界面魔法: 😊更多又漂亮又酷的表情符号 / 使用选项卡式视图提高 Outlook 工作效率 / 最小化 Outlook 而不是关闭 ...
👍 一键奇迹: 使用传入附件回复全部 / 反网络钓鱼电子邮件 / 🕘显示发件人的时区 ...
👩🏼🤝👩🏻 通讯录和日历: 从选定的电子邮件中批量添加联系人 / 将联系人组拆分为各个组 / 删除生日提醒 ...
超过 100特点 等待您的探索! 单击此处了解更多。