多个用户渴望一个解决方案来批量标记所有邮件为已读 在所有 Outlook 文件夹中. 在本文中,我们将向您介绍这样一种方法。
众所周知,将文件夹中的所有邮件标记为已读很容易。 只需选择并右键单击文件夹,然后在上下文菜单中选择“全部标记为已读”选项。 但是,如果有多个文件夹有未读邮件,通过上述方法,您必须对文件夹进行一个一个的操作。 太麻烦了。 因此,在这里,我们将与您分享一种更有效的方式,让您可以批量实现它。
将所有 Outlook 文件夹中的所有电子邮件批量标记为已读
- 到tart 启动 Outlook 应用程序。
- 然后,按“Alt + F11”访问 Outlook VBA 编辑器。
- 接下来,在“Microsoft Visual Basic for Applications”窗口中,将下面的代码复制到一个未使用的模块中。
Sub MarkAllItemsAsRead()
Dim objStores As Outlook.Stores
Dim objStore As Outlook.Store
Dim objOutlookFile As Outlook.Folder
Dim objFolder As Outlook.Folder
'Process all Outlook files
Set objStores = Outlook.Application.Session.Stores
For Each objStore In objStores
Set objOutlookFile = objStore.GetRootFolder
For Each objFolder In objOutlookFile.Folders
'Process mail folders
If objFolder.DefaultItemType = olMailItem Then
Call ProcessFolders(objFolder)
End If
Next
Next
End Sub
Sub ProcessFolders(ByVal objCurFolder As Outlook.Folder)
Dim objUnreadItems As Outlook.Items
Dim i As Integer
Dim objItem As Object
Dim objSubFolder As Outlook.Folder
Set objUnreadItems = objCurFolder.Items.Restrict("[Unread]=True")
'Mark all unread emails as read
For i = 1 To objUnreadItems.Count
Set objItem = objUnreadItems.Item(i)
objItem.UnRead = False
objItem.Save
Next
'Process subfolders recursively
If objCurFolder.Folders.Count > 0 Then
For Each objSubFolder In objCurFolder.Folders
Call ProcessFolders(objSubFolder)
Next
End If
End Sub
- 然后,将光标置于第一个子程序中。
- 随后,按“F5”键按钮或单击工具栏中的“运行”图标。
- 最后,宏完成后,您可以返回到邮件文件夹列表。
- 在那里,您会看到所有未读的电子邮件都已标记为已读,如屏幕截图所示。
逃离悲惨的 Outlook 数据丢失
用户可能已经接受了 Word 文档和 Excel 工作簿很容易损坏的事实。 事实上,与这些文件类似,Outlook 数据文件也很容易损坏。 因此,如果您不愿意经历这种情况,则应该采取一些行动。 它应该包括预防措施,比如定期备份和阻止所有恶意软件或病毒,以及一些缓解措施,比如知道如何启动收件箱修复工具, 扫描仪 并保留一个强大的外部修复工具,例如 DataNumen Outlook Repair.
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复中密度纤维板 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

