将多封旧邮件导入 Outlook 后,这些邮件都处于“未读”状态,你一定想批量标记为已读。 现在,在本文中,我们将向您展示 2 种快速方法。
有时,您可能需要将多封电子邮件批量标记为已读。 例如,您有一个旧的 PST 文件,其中包含大量旧电子邮件。 然后,将电子邮件导入您自己的 Outlook PST 文件。 但是,导入后,这些电子邮件默认显示为“未读”。 此时,您需要将这些早于特定日期的邮件批量标记为已读。 在这里,我们将着眼于此需求,以分享 2 个方便且高效的方法。
方法 1:将找到的电子邮件批量标记为手动已读
- 首先,打开邮件文件夹。
- 然后,点击进入搜索框。
- 接下来,在“搜索”功能区中,单击“范围”组中的“所有邮件项目”按钮。
- 之后,在搜索框中输入条件“sent: <=2018/5/21”。 将“2018/5/12”更改为您想要的日期。

- 搜索完成后,通过“Ctrl+A”全选搜索到的邮件。
- 最后,右键单击并选择“标记广告已读”选项。
方法 2:使用 VBA 将早于特定日期的电子邮件批处理标记为已读
- 首先,根据“如何在 Outlook 中运行 VBA 代码“。
- 然后,将以下代码复制到模块中。
Dim dDate As Date
Sub MarkEmailsOlderThanSpecificDateRead()
Dim objStore As Outlook.Store
Dim objOutlookFile As Outlook.Folder
Dim objFolder As Outlook.Folder
dDate = InputBox("Enter the specific date:", , "2018/5/11")
For Each objStore In Outlook.Application.Session.Stores
Set objOutlookFile = objStore.GetRootFolder
For Each objFolder In objOutlookFile.Folders
If objFolder.DefaultItemType = olMailItem Then
Call ProcessFolders(objFolder)
End If
Next
Next
End Sub
Sub ProcessFolders(ByVal objCurFolder As Outlook.Folder)
Dim objItem As Object
Dim objMail As Outlook.MailItem
Dim objSubfolder As Outlook.Folder
For Each objItem In objCurFolder.Items
If TypeOf objItem Is MailItem Then
Set objMail = objItem
If objMail.SentOn <= dDate Then
If objMail.UnRead = True Then
objMail.UnRead = False
objMail.Save
End If
End If
End If
Next
If objCurFolder.Folders.Count > 0 Then
For Each objSubfolder In objCurFolder.Folders
Call ProcessFolders(objSubfolder)
Next
End If
End Sub
- 之后,按“F5”键立即运行该宏。
- 稍后,在弹出的小对话框中,输入具体日期并点击“确定”。
- 最终,所有早于特定日期的电子邮件都将被标记为已读。
还原受损的 Outlook 文件
Outlook 偶尔意外崩溃后,Outlook PST 文件可能会损坏。 如果您有更新的备份,您可以 恢复 Outlook 数据与您的备份。 否则,您别无选择,只能寻求专门的专家或实用程序,例如 DataNumen Outlook Repair 修复 Outlook 文件。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 中密度纤维板修复 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com



