如何將Outlook文件的文件夾結構導出到Excel

立即分享:

如果您想將Outlook數據文件的文件夾結構快速導出到Excel工作簿,則可以利用本文介紹的方法。

由於某些原因,例如記錄當前的Outlook文件夾和子文件夾,許多用戶希望將Outlook文件的文件夾結構導出到外部文件,例如Excel工作簿。 在下文中,我們將為您分享一段VBA代碼,這些代碼可以幫助您輕鬆實現。

將Outlook文件的文件夾結構導出到Excel

將Outlook文件的文件夾結構導出到Excel

  1. 到tar然後啟動Outlook應用程序。
  2. 然後,在Outlook主窗口中,按“ Alt + F11”鍵按鈕。
  3. 接下來,您將進入Outlook VBA編輯器,在其中應打開一個未使用的模塊。
  4. 隨後,您可以將以下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

VBA代碼-將Outlook文件的文件夾結構導出到Excel

  1. 之後,您應確保Outlook啟用了宏。
  2. 最終,您可以嘗試一下:
  • 在當前宏窗口中,按F5鍵。
  • 宏完成後,您將收到提示“完成”的警報。
  • 以後,您可以轉到預定義的本地文件夾以查找新的Excel文件。 打開它,它將類似於以下屏幕截圖:Excel中Outlook文件的文件夾結構

永遠不要忽略任何Outlook錯誤

儘管具有許多功能,但是Outlook與其他電子郵件客戶端一樣容易受到錯誤和損壞的影響。 因此,您應該重視Outlook中的所有錯誤。 請不要忽略它們。 否則,累積錯誤可能最終導致Outlook損壞。 如果遇到棘手的錯誤,建議使用功能強大的工具,例如 DataNumen Outlook Repair, 哪個行 維修展望 錯誤在幾秒鐘內。

作者簡介:

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

立即分享:

評論被關閉。