如果你想查看一个PST文件中每个文件夹的大小信息,你可以使用本文公开的方法。 它会快速导出 PST 文件中所有文件夹的大小信息到 Excel 文件。
当您的 PST 文件太大时,您可能希望检查每个文件夹的大小。 它会帮助您轻松找出哪些是较大的,并根据大小进行适当的归档。 通常,要查看文件夹大小,只需右键单击文件夹,然后选择“属性”即可。 在新弹出的对话框中,您可以单击“文件夹大小”按钮。 但是,如果您创建了很多文件夹,手动检查一个一个的大小信息是相当麻烦的。 所以,如果要批量获取一个PST文件中所有文件夹的大小信息,可以使用如下VBA代码。 它将所有文件夹名称和大小信息一次性导出到 Excel 文件。

导出PST文件中所有文件夹的大小信息到Excel文件
- 到tar然后,启动您的 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



