如果您想快速将 Outlook 数据文件的文件夹结构导出到 Excel 工作簿,您可以使用本文介绍的方法。
由于某些原因,例如记录当前 Outlook 文件夹和子文件夹,许多用户希望将 Outlook 文件的文件夹结构导出到外部文件,如 Excel 工作簿。 下面给大家分享一段VBA代码,让你轻松实现。

将 Outlook 文件的文件夹结构导出到 Excel
- 到tar然后,启动您的 Outlook 应用程序。
- 然后,在 Outlook 主窗口中,按“Alt + F11”键按钮。
- 接下来,您将进入 Outlook VBA 编辑器,您应该在其中打开一个未使用的模块。
- 随后,您可以将以下 VBA 代码复制到该模块中。
Dim objExcelApp As Excel.Application
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet
Dim lMainFolder As Long
Sub ExportFolderStructureToExcel()
Dim objSourcePSTFile As Folder
'Add a new Excel workbook
Set objExcelApp = CreateObject("Excel.Application")
Set objExcelWorkbook = objExcelApp.Workbooks.Add
Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
With objExcelWorksheet
.Cells(1, 1) = "Folder Structure"
.Cells(1, 1).Font.Size = 14
.Cells(1, 1).Font.Bold = True
End With
'Select an Outlook PST file
Set objSourcePSTFile = Application.Session.PickFolder
lMainFolder = Len(objSourcePSTFile.FolderPath) - Len(Replace(objSourcePSTFile.FolderPath, "\", "")) + 1
Call ExportToExcel(objSourcePSTFile.FolderPath, objSourcePSTFile.Name)
Call ProcessFolders(objSourcePSTFile.Folders)
'Save this Excel workbook
objExcelWorksheet.Columns("A").AutoFit
strExcelFile = "E:\Folder Structure (" & Format(Now, "yyyymmddhhmmss") & ").xlsx"
objExcelWorkbook.Close True, strExcelFile
MsgBox "Complete!", vbExclamation
End Sub
Sub ProcessFolders(ByVal objFolders As Folders)
Dim objFolder As Folder
'Process all folders recursively
For Each objFolder In objFolders
If objFolder.Name <> "Conversation Action Settings" And objFolder.Name <> "Quick Step Settings" Then
Call ExportToExcel(objFolder.FolderPath, objFolder.Name)
Call ProcessFolders(objFolder.Folders)
End If
Next
End Sub
Sub ExportToExcel(ByRef strFolderPath As String, strFolderName As String)
Dim i, n As Long
Dim strPrefix As String
Dim nLastRow As Integer
i = Len(strFolderPath) - Len(Replace(strFolderPath, "\", ""))
For n = lMainFolder To i
strPrefix = strPrefix & "-"
Next
strFolderName = strPrefix & strFolderName
'Input the folder name in Excel
nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
objExcelWorksheet.Range("A" & nLastRow) = strFolderName
End Sub
- 之后,您应该确保 Outlook 已启用宏。
- 最终,您可以拍摄:
- 在当前宏窗口中,按 F5 键按钮。
- 宏完成后,您将收到提示“完成”的警报。
- 稍后,您可以前往预定义的本地文件夹以查找新的 Excel 文件。 打开它,它看起来像下面的截图:
永远不要忽视任何 Outlook 错误
尽管功能众多,但 Outlook 与其他电子邮件客户端一样容易出错和损坏。 因此,您应该重视 Outlook 中的所有错误。 请不要忽视他们。 否则,累积错误最终会导致 Outlook 损坏。 如果遇到棘手的错误,建议使用强大的工具,例如 DataNumen Outlook Repair,这可以 修复 Outlook 几秒钟内出错。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 sql恢复 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

