如何快速將PST文件中所有文件夾的大小信息導出到Excel文件

立即分享:

如果要檢查PST文件中每個文件夾的大小信息,可以使用本文公開的方法。 它將快速將PST文件中所有文件夾的大小信息導出到Excel文件。

當您的PST文件太大時,您可能希望檢查每個文件夾的大小。 它可以幫助您輕鬆找出較大的文件,並根據大小進行適當的歸檔。 通常,要檢查文件夾的大小,只需右鍵單擊一個文件夾,然後選擇“屬性”。 在新的彈出對話框中,您可以單擊“文件夾大小”按鈕。 但是,如果您創建了許多文件夾,則手動逐個檢查大小信息非常麻煩。 因此,如果要批量獲取PST文件中所有文件夾的大小信息,則可以使用以下VBA代碼。 它將一次性將所有文件夾名稱和大小信息導出到Excel文件。

快速將PST文件中所有文件夾的大小信息導出到Excel文件

將PST文件中所有文件夾的大小信息導出到Excel文件

  1. 首先,啟動 Outlook 應用程式。
  2. 然後切換到“開發人員”選項卡,然後單擊“ Visual Basic”按鈕或按“ Alt + F11”鍵訪問VBA編輯器。
  3. 接下來,在“ Microsoft Visual Basic for Applications”窗口中,打開一個未使用的模塊。
  4. 隨後,將以下VBA代碼複製並粘貼到該模塊中。
Dim strExcelFile As String
Dim objExcelApp As Excel.Application
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet

Sub ExportFodlerSizetoExcel()
    Dim objSourcePST As Outlook.Folder
    Dim objFolder As Outlook.Folder
 
    Set objExcelApp = CreateObject("Excel.Application")
    Set objExcelWorkbook = objExcelApp.Workbooks.Add
    Set objExcelWorksheet = objExcelWorkbook.Sheets("Sheet1")
    objExcelWorksheet.Cells(1, 1) = "Folder"
    objExcelWorksheet.Cells(1, 2) = "Size"
 
    'Select a source PST file
    Set objSourcePST = Outlook.Application.Session.PickFolder

    For Each objFolder In objSourcePST.Folders
        Call ProcessFolders(objFolder)
    Next
 
    'Fit the columns from A to B
    objExcelWorksheet.Columns("A:B").AutoFit
 
    strExcelFile = "E:\Outlook\" & objSourcePST.Name & " Folder Size (" & Format(Now, "yyyy-mm-dd hh-mm-ss") & ").xlsx"
    objExcelWorkbook.Close True, strExcelFile

    MsgBox "Complete!", vbExclamation
End Sub

Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder)
    Dim objItem As Object
    Dim lCurrentFolderSize As Long
    Dim nNextEmptyRow As Integer
 
    objCurrentFolder.Items.SetColumns ("Size")
    For Each objItem In objCurrentFolder.Items
        lCurrentFolderSize = lCurrentFolderSize + objItem.Size
    Next
 
    'Convert byte to kilobyte
    'To convert to megabyte, use:
    'lCurrentFolderSize = (lCurrentFolderSize / 1024) / 1024
    lCurrentFolderSize = lCurrentFolderSize / 1024
 
    nNextEmptyRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1

    'Add the values into the columns
    objExcelWorksheet.Range("A" & nNextEmptyRow) = objCurrentFolder.FolderPath
    objExcelWorksheet.Range("B" & nNextEmptyRow) = lCurrentFolderSize & " KB"
 
    If objCurrentFolder.Folders.Count > 0 Then
       For Each objSubfolder In objCurrentFolder.Folders
           Call ProcessFolders(objSubfolder)
       Next
    End If
End Sub

VBA代碼-將PST文件中所有文件夾的大小信息導出到Excel文件

  1. 之後,您應該將Outlook宏安全級別設置為低。
  2. 最終,您可以嘗試一下。
  • 在當前宏窗口中按F5鍵按鈕。
  • 然後,將要求您選擇一個PST文件,如下圖所示:選擇PST文件
  • 選擇源文件後,Outlook將開始將尺寸信息導出到Excel。
  • 宏完成後,您會收到類似以下屏幕截圖的消息。完成
  • 最後,您將能夠在預定義的本地文件夾中找到Excel文件。 Excel文件將如下所示:最終Excel文件

處理常見的PST錯誤

由於Outlook容易出錯,因此您的Outlook中可能遇到過很多問題。 為了更好,更靈活地處理令人沮喪的PST問題,建議在附近保持經驗豐富且信譽良好的修復工具,例如 DataNumen Outlook Repair。 它能夠 修復PST 像微風一樣的問題。

作者簡介:

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

立即分享:

評論被關閉。