Skip to main content

如何計算 Outlook 中已標記郵件的數量?

Author: Xiaoyang Last Modified: 2025-05-13

在 Outlook 中,您可以標記郵件、聯絡人或任務,以使它們突出顯示。但有時,您需要計算 Outlook 中已標記項目的數量。該如何在 Outlook 中處理此任務呢?

使用搜尋資料夾計算單一帳戶中已標記郵件的數量

使用 VBA 程式碼分別計算所有帳戶中已標記郵件/聯絡人/任務的數量


a name="a1"> 使用搜尋資料夾計算單一帳戶中已標記郵件的數量

要計算 Outlook 帳戶中已標記郵件的數量,搜尋資料夾功能可以幫助您,請按照以下步驟操作:

1. 右鍵點擊您的郵件帳戶下的 搜尋資料夾,然後選擇新建搜尋資料夾,請參閱截圖:

doc count flagged items 1

2. 接著會彈出一個新建搜尋資料夾對話框,在閱讀郵件部分中點擊需後續工作的郵件選項,請參閱截圖:

doc count flagged items 2

3. 然後點擊確定,所有已標記的郵件都會複製到 需後續工作資料夾中,並且已標記郵件的總數會如下方截圖所示顯示:

doc count flagged items 3

a name="a2"> 使用 VBA 程式碼分別計算所有帳戶中已標記郵件/聯絡人/任務的數量

如果您想分別計算所有已標記項目(例如郵件、聯絡人和任務)的數量,以下 VBA 程式碼可以幫助您完成此任務。

1. 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 視窗。

2. 然後,點擊插入 > 模組,將以下程式碼複製並貼到打開的空白模組中,請參閱截圖:

VBA 程式碼:計算 Outlook 中已標記次數的數量:

Dim GSeparateCount, GMailCount, GContactCount, GTaskCount As Long
Sub CountFlaggedItems()
Dim xStore As Outlook.Store
Dim xTotalCount As Long
Dim xPrompt As String
Dim xFolder As Folder
Dim i, k As Integer
On Error Resume Next
xTotalCount = 0
GMailCount = 0
GContactCount = 0
GTaskCount = 0
For Each xStore In Application.Session.Stores
    For Each xFolder In xStore.GetRootFolder.Folders
       Call ProcessFolders(xFolder)
    Next
Next
xTotalCount = GMailCount + GContactCount + GTaskCount
xPrompt = xTotalCount & " items have been flagged, as follows: " & Chr(10) & Chr(10) & "Emails: " & GMailCount & Chr(10) & "Contacts: " & GContactCount & Chr(10) & "Tasks: " & GTaskCount
MsgBox xPrompt, vbInformation + vbOKOnly, "Kutools for Outlook"
End Sub
Sub ProcessFolders(ByVal CurFolder As Outlook.Folder)
Dim xSubfolder As Outlook.Folder
Dim xItem As Object
Dim i, k As Integer
On Error Resume Next
For i = CurFolder.Items.Count To 1 Step -1
    Set xItem = CurFolder.Items.item(i)
    Select Case xItem.Class
        Case olMail, olPost, olSharing
            If xItem.IsMarkedAsTask = True Then
                GMailCount = GMailCount + 1
            End If
        Case olContact, olDistList
            If xItem.IsMarkedAsTask = True Then
                GContactCount = GContactCount + 1
            End If
        Case olTask
            If CurFolder.DefaultItemType = olTaskItem Then
            GTaskCount = GTaskCount + 1
            End If
    End Select
Next i
If CurFolder.Folders.Count > 0 Then
        For k = CurFolder.Folders.Count To 1 Step -1
            Set xSubfolder = CurFolder.Folders.item(k)
            Call ProcessFolders(xSubfolder)
        Next k
    End If
End Sub
doc count flagged items 4

3. 然後按 F5 鍵運行程式碼,會彈出一個提示框,告訴您所有已標記項目的總數,如下方截圖所示:

doc count flagged items 5

計算 Outlook 中今天、昨天、已讀、未讀、總項目數...

借助 Kutools for Outlook 的強大統計功能,您可以根據日期、選中的項目、已讀、未讀等需求獲取項目數量。

doc count flagged items 6
Kutools for Outlook:擁有 70 多個實用且免費的 Outlook 增益集,立即下載免費版本