如何快速将PST文件中所有文件夹的大小信息导出到Excel文件

立即分享:

如果你想查看一个PST文件中每个文件夹的大小信息,你可以使用本文公开的方法。 它会快速导出 PST 文件中所有文件夹的大小信息到 Excel 文件。

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

快速导出PST文件中所有文件夹的大小信息到Excel文件

导出PST文件中所有文件夹的大小信息到Excel文件

  1. 到tar然后,启动您的 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

立即分享:

评论被关闭。