跳至主要内容

如何在Outlook中打开所有未读邮件?

Author: Xiaoyang Last Modified: 2025-05-07

如果您的Outlook收件箱中有多个未读邮件,您如何能够一次性快速打开所有未读邮件进行阅读呢?

使用VBA代码打开特定收件箱或其他文件夹中的所有未读邮件


使用VBA代码打开特定收件箱或其他文件夹中的所有未读邮件

以下VBA代码可以帮助您一次性打开收件箱或特定文件夹中的所有未读邮件,请按照以下步骤操作:

1. 首先,您应该选择一个要从中打开所有未读邮件的文件夹。

doc open all unread eamils 1

2. 然后按住“ALT + F11”键以打开“Microsoft Visual Basic for Applications”窗口。

3. 接着,点击“插入”>“模块”,将以下代码复制并粘贴到打开的空白模块中,参见截图:

VBA代码:打开特定文件夹中的所有未读邮件

Sub OpenAllUnreadEmails()
Dim xFolders As Outlook.Folders
Dim xFolder As Outlook.Folder
Dim xUnreadEmailCount As Long
On Error Resume Next
xUnreadEmailCount = 0
Set xFolders = Application.ActiveExplorer.CurrentFolder.Folders
Call OperatingFolders(Application.ActiveExplorer.CurrentFolder, xUnreadEmailCount)
For Each xFolder In xFolders
    Call OperatingFolders(xFolder, xUnreadEmailCount)
Next
MsgBox "Open " & xUnreadEmailCount & " unread emails successfully!", vbExclamation + vbOKOnly, "Kutools for Outlook"
End Sub
Sub OperatingFolders(ByVal xCurrentFld As Outlook.Folder, UnreadEmailCount As Long)
Dim xItem As Object
Dim xMailItem As Outlook.MailItem
Dim xSubFolder As Outlook.Folder
On Error Resume Next
If xCurrentFld.DefaultItemType = olMailItem Then
    For Each xItem In xCurrentFld.Items
        If xItem.Class = olMail Then
            Set xMailItem = xItem
            If xMailItem.UnRead = True Then
                xMailItem.Display
                UnreadEmailCount = UnreadEmailCount + 1
            End If
        End If
    Next
End If
If xCurrentFld.Folders.Count > 0 Then
    For Each xSubFolder In xCurrentFld.Folders
        Call OperatingFolders(xSubFolder, UnreadEmailCount)
    Next
End If
End Sub
doc open all unread eamils 2

4. 然后,按“F5”键运行此代码,指定文件夹中的所有未读邮件将立即被打开。最后,会弹出一个提示框,提醒您已打开的未读邮件数量,参见截图:

doc open all unread eamils 3

便笺:此代码不适用于会议邮件。