如何快速將Outlook中每個顏色類別中的項目計數導出到Excel

立即分享:

如果您想快速獲取Outlook PST文件中每個顏色類別中的項目總數,則可以使用本文中公開的VBA代碼。 它將所有計數直接導出到Excel文件中,以方便您檢查。

快速將Outlook中每個顏色類別中的項目計數導出到Excel有時,由於某些原因,您可能需要計算Outlook數據文件中每個顏色類別中的項目數。 通常,您可以使用即時搜索進行計數。 例如,首先單擊搜索框。 然後單擊“搜索”功能區中的“分類”按鈕,然後從下拉列表中選擇特定的顏色類別。 接下來,在“範圍”功能區組中選擇“所有Outlook項目”。 稍後,搜索完成後,將列出所選顏色類別中的所有項目。 現在,您可以在狀態欄的左下角看到這些搜索結果的計數。

毫無疑問,如果您有很多顏色類別,通過這種方式,一一計算將是非常繁瑣的。 因此,為響應此要求,我們將在這裡公開一種非常快捷的方法。 它將所有計數直接導出到Excel文件中。

將Outlook中每個顏色類別中的項目計數導出到Excel

  1. 首先,啟動 Outlook 應用程式。
  2. 然後按“ Alt + F11”鍵按鈕訪問Outlook VBA編輯器。
  3. 在隨後的“ Microsoft Visual Basic for Applications”窗口中,打開一個空白模塊。
  4. 接下來,您可以將以下VBA代碼複製到此模塊窗口中。
Public objDictionary As Object
Public objExcelApp As Excel.Application
Public objExcelWorkbook As Excel.Workbook
Public objExcelWorksheet As Excel.Worksheet
 
Sub ExportCountofItemsinEachColorCategories()
    Dim objCategories As Object
    Dim objCategory As Object
    Dim objPSTFile As Outlook.Folder
    Dim objFolder As Outlook.Folder
    Dim strExcelFile As String
 
    'Create a New Excel file
    Set objExcelApp = CreateObject("Excel.Application")
    Set objExcelWorkbook = objExcelApp.Workbooks.Add
    Set objExcelWorksheet = objExcelWorkbook.Sheets("Sheet1")
    objExcelWorksheet.Cells(1, 1) = "Color Category"
    objExcelWorksheet.Cells(1, 2) = "Count"
 
    'Find all the color categories
    Set objDictionary = CreateObject("Scripting.Dictionary")

    Set objCategories = Outlook.Application.Session.Categories
    For Each objCategory In objCategories
        objDictionary.Add objCategory.Name, 0
    Next
 
    Set objPSTFile = Outlook.Application.Session.PickFolder
 
    For Each objFolder In objPSTFile.Folders
        ProcessFolder objFolder
    Next
 
    'Save the new Excel file
    objExcelWorksheet.Columns("A:B").AutoFit
    strExcelFile = "E:\Outlook\Color Categories (" & Format(Now, "yyyy-mm-dd_hh-mm-ss") & ").xlsx"
    objExcelWorkbook.Close True, strExcelFile

    MsgBox "Complete!", vbExclamation
End Sub
 
Private Sub ProcessFolder(ByVal objCurrentFolder As Outlook.Folder)
    Dim objItem As Object
    Dim objSubFolder As Object
    Dim ArrayCategories As Variant
    Dim VarCategory As Variant
    Dim ArrayKey As Variant
    Dim ArrayItem As Variant
    Dim i As Long
    Dim nRow As Integer

    'Count the items in each color category via Dictionary object
    For Each objItem In objCurrentFolder.Items
        If objItem.Categories <> "" Then
           ArrayCategories = Split(objItem.Categories, ",")
           For Each VarCategory In ArrayCategories
               If objDictionary.Exists(VarCategory) = True Then
                  objDictionary.Item(VarCategory) = objDictionary.Item(VarCategory) + 1
               End If
          Next
        End If
    Next
 
    ArrayKey = objDictionary.Keys
    ArrayItem = objDictionary.Items
    nRow = 2
 
    'Input the information into the new Excel file
    For i = LBound(ArrayKey) To UBound(ArrayKey)
        objExcelWorksheet.Cells(nRow, 1) = ArrayKey(i)
        objExcelWorksheet.Cells(nRow, 2) = ArrayItem(i) & “ Items”
        nRow = nRow + 1
    Next
 
    'Process the subfolders recursively
    For Each objSubFolder In objCurrentFolder.Folders
        ProcessFolder objSubFolder
    Next
End Sub

VBA代碼-對Outlook中每種顏色類別中的項目進行計數

  1. 之後,檢查Outlook是否允許宏。
  2. 最後,您可以嘗試一下。
  • 首先,在這個新宏中按F5鍵。
  • 然後,您需要選擇一個源PST文件,然後單擊“確定”。
  • 當出現提示“ Complete”的消息時,您可以轉到本地驅動器並打開預定義的文件夾以保存Excel文件。
  • 找到並打開Excel文件。 它將如下圖所示:效果:將每個顏色類別中的項目計數導出到Excel

如果Outlook突然崩潰該怎麼辦

儘管 Outlook 擁有許多強大的功能,但隨著時間的推移,您可能會遇到各種各樣的問題。例如,Outlook 可能會不時崩潰。最好的情況是,重新啟動 Outlook 可以解決問題。最糟糕的情況是,它可能會直接導致 PST 資料損壞。屆時,您需要採取各種措施來修復這些數據。 維修PST 文件以獲取最大的Outlook數據,您可以將其恢復為經驗豐富的工具,例如 DataNumen Outlook Repair.

作者簡介:

Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 sql修復 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。