如何在Outlook中将超过特定日期的未读电子邮件标记为已自动阅读?
如果您的“收件箱”文件夹中有多个未读电子邮件,通常,您可以应用“将所有未读电子邮件标记为已读”功能来手动将所有未读电子邮件标记为已读电子邮件。 但是,您是否曾经尝试将早于特定日期的未读电子邮件标记为在Outlook中自动阅读,而无需每次都进行手动设置?
使用VBA代码将早于特定日期的未读电子邮件标记为已自动阅读
要将所有早于特定日期的未读电子邮件自动标记为已读,以下VBA代码可以帮您一个忙:
1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。
2。 在 Microsoft Visual Basic应用程序 窗口,双击 本次展望会议 来自 Project1(VbaProject.OTM) 窗格以打开模式,然后将以下代码复制并粘贴到空白模块中。
VBA代码:将特定日期之前的未读电子邮件自动标记为已读:
Private Sub Application_Startup()
Call MarkOldUnreadEmailsAsRead
End Sub
Private Sub MarkOldUnreadEmailsAsRead()
Dim xInboxFld As Outlook.Folder
Dim xAccount As Account
On Error GoTo L1
For Each xAccount In Outlook.Application.Session.Accounts
Set xInboxFld = xAccount.DeliveryStore.GetDefaultFolder(olFolderInbox)
Call Processfolders(xInboxFld)
Next xAccount
L1: Exit Sub
End Sub
Private Sub Processfolders(ByVal InboxFld As Outlook.Folder)
Dim xItems As Outlook.Items
Dim i As Long
Dim xSubFld As Outlook.Folder
On Error Resume Next
Set xItems = InboxFld.Items
For i = 1 To xItems.Count
If DateDiff("d", xItems(i).ReceivedTime, Now) >= 15 Then
If xItems(i).UnRead = True Then
xItems(i).UnRead = False
xItems(i).Save
End If
End If
Next
If InboxFld.Folders.Count > 0 Then
For Each xSubFld In InboxFld.Folders
Call Processfolders(xSubFld)
Next
End If
End Sub
备注:在上面的代码中,您可以更改此脚本中的天数: 如果DateDiff(“ d”,xItems(i).ReceivedTime,现在)> = 15 然后 根据您自己的需要。
3。 然后保存并关闭此代码窗口,此后,每次启动Outlook时,所有早于预定义日期的未读电子邮件将被立即标记为已读。
备注:此代码仅适用于默认数据帐户。
最佳办公生产力工具
Kutools for Outlook - 超过 100 种强大功能可增强您的 Outlook
🤖 人工智能邮件助手: 具有人工智能魔力的即时专业电子邮件——一键天才回复、完美语气、多语言掌握。轻松改变电子邮件! ...
📧 电子邮件自动化: 外出(适用于 POP 和 IMAP) / 安排发送电子邮件 / 发送电子邮件时按规则自动抄送/密件抄送 / 自动转发(高级规则) / 自动添加问候语 / 自动将多收件人电子邮件拆分为单独的消息 ...
📨 电子邮件管理: 轻松回忆电子邮件 / 按主题和其他人阻止诈骗电子邮件 / 删除重复的电子邮件 / 高级搜索 / 合并文件夹 ...
📁 附件专业版: 批量保存 / 批量分离 / 批量压缩 / 自动保存 / 自动分离 / 自动压缩 ...
🌟 界面魔法: 😊更多又漂亮又酷的表情符号 / 使用选项卡式视图提高 Outlook 工作效率 / 最小化 Outlook 而不是关闭 ...
👍 一键奇迹: 使用传入附件回复全部 / 反网络钓鱼电子邮件 / 🕘显示发件人的时区 ...
👩🏼🤝👩🏻 通讯录和日历: 从选定的电子邮件中批量添加联系人 / 将联系人组拆分为各个组 / 删除生日提醒 ...
超过 100特点 等待您的探索! 单击此处了解更多。