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

將PST文件中所有文件夾的大小信息導出到Excel文件
- 首先,啟動 Outlook 應用程式。
- 然後切換到“開發人員”選項卡,然後單擊“ Visual Basic”按鈕或按“ Alt + F11”鍵訪問VBA編輯器。
- 接下來,在“ Microsoft Visual Basic for Applications”窗口中,打開一個未使用的模塊。
- 隨後,將以下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
- 之後,您應該將Outlook宏安全級別設置為低。
- 最終,您可以嘗試一下。
- 在當前宏窗口中按F5鍵按鈕。
- 然後,將要求您選擇一個PST文件,如下圖所示:
- 選擇源文件後,Outlook將開始將尺寸信息導出到Excel。
- 宏完成後,您會收到類似以下屏幕截圖的消息。
- 最後,您將能夠在預定義的本地文件夾中找到Excel文件。 Excel文件將如下所示:
處理常見的PST錯誤
由於Outlook容易出錯,因此您的Outlook中可能遇到過很多問題。 為了更好,更靈活地處理令人沮喪的PST問題,建議在附近保持經驗豐富且信譽良好的修復工具,例如 DataNumen Outlook Repair。 它能夠 修復PST 像微風一樣的問題。
作者簡介:
Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 SQL Server 復甦 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM



