跳到主要内容

如何将文件夹结构从Outlook导出到Excel?

本文,我将介绍如何将帐户的文件夹结构从Outlook导出到Excel文件。 请使用本文的详细信息来实现。

使用VBA代码将帐户的文件夹结构从Outlook导出到Excel


使用VBA代码将帐户的文件夹结构从Outlook导出到Excel

以下VBA代码可能会对您有所帮助,请执行以下步骤:

1. 启用Excel并按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

2。 点击 插页 > 模块,然后将以下代码粘贴到 模块 窗口。

VBA代码:将帐户的文件夹结构从Outlook导出到Excel:

Dim xExcelApp As Excel.Application
Dim xWb As Excel.Workbook
Dim xWs As Excel.Worksheet
Dim xMainFolderCount As Long
Sub OutlookExportFolderStructureToExcel()
    Dim xFolder As Folder
    Dim xExcelFile As String
    Dim xFileDialog As FileDialog
    On Error Resume Next
    Set xFolder = Outlook.Application.Session.PickFolder
    If xFolder Is Nothing Then Exit Sub
    Set xExcelApp = New Excel.Application
    Set xWb = xExcelApp.Workbooks.Add
    Set xWs = xWb.Sheets(1)
    With xWs.Range("A1", "A1")
         .Value = "Folder Structure"
         .Font.Size = 14
         .Font.Bold = True
    End With
    xMainFolderCount = Len(xFolder.FolderPath) - Len(Replace(xFolder.FolderPath, "\", "")) + 1
    Call ExportToExcel(xFolder.FolderPath, xFolder.Name)
    Call ProcessFolders(xFolder.Folders)
    xWs.Columns("A").AutoFit
    Set xFileDialog = xExcelApp.FileDialog(msoFileDialogSaveAs)
    With xFileDialog
        .AllowMultiSelect = False
        .FilterIndex = 1
        If .Show = 0 Then
            xWb.Close False
            xExcelApp.Quit
            Set xExcelApp = Nothing
            Exit Sub
        End If
        xExcelFile = .SelectedItems.Item(1)
    End With
    xWb.Close True, xExcelFile
    MsgBox "Export complete!", vbExclamation, "Kutools for Outlook"
End Sub

Sub ProcessFolders(ByVal xFlds As Folders)
    Dim xSubFolder As Folder
    For Each xSubFolder In xFlds
        If xSubFolder.Name <> "Conversation Action Settings" And xSubFolder.Name <> "Quick Step Settings" Then
           Call ExportToExcel(xSubFolder.FolderPath, xSubFolder.Name)
           Call ProcessFolders(xSubFolder.Folders)
        End If
    Next
End Sub

Sub ExportToExcel(ByRef xFolderPath As String, xFolderName As String)
    Dim i, n As Long
    Dim xPrefix As String
    Dim xLastRow As Integer
    i = Len(xFolderPath) - Len(Replace(xFolderPath, "\", "")) - xMainFolderCount
    For n = 0 To i
        xPrefix = xPrefix & "-"
    Next
    xFolderName = xPrefix & xFolderName
    xLastRow = xWs.UsedRange.Rows.Count + 1
    xWs.Range("A" & xLastRow) = xFolderName
End Sub

3. 仍然在 Microsoft Visual Basic应用程序 窗口中,单击 工具 > 参考资料参考-Project1 对话框,然后检查 Microsoft Excel对象库 选项从 可用参考 列表框,请参见屏幕截图:

doc导出到excel 1的文件夹结构

4。 然后点击 OK 按钮,然后按 F5 运行此代码的关键 选择“文件夹” 弹出对话框,请选择要导出其文件夹结构的电子邮件帐户,请参见屏幕截图:

doc导出到excel 2的文件夹结构

5。 然后,单击 OK 按钮,一个 档案储存 显示窗口,请为此导出文件指定位置和文件名,请参见屏幕截图:

doc导出到excel 3的文件夹结构

6。 最后点击 保存 按钮,然后您可以转到已保存的特定excel工作簿以查看导出的文件夹结构,请参见屏幕截图:

doc导出到excel 4的文件夹结构

 


最佳办公生产力工具

Kutools for Outlook - 超过 100 种强大功能可增强您的 Outlook

🤖 人工智能邮件助手: 具有人工智能魔力的即时专业电子邮件——一键天才回复、完美语气、多语言掌握。轻松改变电子邮件! ...

📧 电子邮件自动化: 外出(适用于 POP 和 IMAP)  /  安排发送电子邮件  /  发送电子邮件时按规则自动抄送/密件抄送  /  自动转发(高级规则)   /  自动添加问候语   /  自动将多收件人电子邮件拆分为单独的消息 ...

📨 电子邮件管理: 轻松回忆电子邮件  /  按主题和其他人阻止诈骗电子邮件  /  删除重复的电子邮件  /  高级搜索  /  合并文件夹 ...

📁 附件专业版批量保存  /  批量分离  /  批量压缩  /  自动保存   /  自动分离  /  自动压缩 ...

🌟 界面魔法: 😊更多又漂亮又酷的表情符号   /  使用选项卡式视图提高 Outlook 工作效率  /  最小化 Outlook 而不是关闭 ...

👍 一键奇迹: 使用传入附件回复全部  /   反网络钓鱼电子邮件  /  🕘显示发件人的时区 ...

👩🏼‍🤝‍👩🏻 通讯录和日历: 从选定的电子邮件中批量添加联系人  /  将联系人组拆分为各个组  /  删除生日提醒 ...

超过 100特点 等待您的探索! 单击此处了解更多。

了解更多       免费下载      购买
 

 

 

Comments (14)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I cannot access the toolbox to check Microsoft Excel Object Library option from the Available References list box,a
The toolbox icon is selected but greyed out

thanks
This comment was minimized by the moderator on the site
You additionally need to select "Microsoft Outlook 16.0 Object Library" as a reference.
This comment was minimized by the moderator on the site
Hello,
thank you for your fast response. I think, i’ve now set all necessary options. But i can’t find the „Apply macro security settings to installed add-ins“
I would like to send some screenshots, but can't find how to on this page.
Best regards Erich Hackel
This comment was minimized by the moderator on the site
Hello, Erich,
If you can't find the "Apply macro security settings to installed add-ins" option, please view the below screenshot:

https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-option-setting.png
This comment was minimized by the moderator on the site
Hallo,
ich habe exakt den gleichen Fehler wie Jörg. Ich habe Office Professional Plus 2021 in Deutsch installiert.
Punkt 3 finde ich unter Extras - Verweise. Auch bei mir war die "MS Excel 16.0 Object Library" bereits aktiviert, zusätzlich auch noch "Visual Basic For Applications", "MS Office 16.0 Object Library" und "OLE Automation".
Beim Ausführen ebenfalls der "Fehler beim Kompilieren", der Hilfe-Button verrät dann noch "Der Administrator Ihrer Organisation hat den für die Verwendung dieser Funktion erforderlichen Dienst deaktiviert."
Aber welcher ist das und wo / wie kann man ihn aktivieren???
This comment was minimized by the moderator on the site
Hello, Erich
May be you should enable all macros setting, please do as this:
In your Outlook, please click File > Options > Trust Center > Trust Center Settings > Macro Settings, and then check Enable all macros and Apply macro security settings to installed add-ins options.

After finishing this setting, please restart the Outlook.

Please try, thank you!
This comment was minimized by the moderator on the site
I'm using Outlook from MS Office 2019 Pro plus 64bit in German always latest version. How can I send a picture?
This comment was minimized by the moderator on the site
Hello,
May be you should enable all macros setting, please do as this:
In your Outlook, please click File > Options > Trust Center > Trust Center Settings > Macro Settings, and then check Enable all macros and Apply macro security settings to installed add-ins options.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-option-setting.png

After finishing this setting, please restart the Outlook.

Please try, thank you!
This comment was minimized by the moderator on the site
Hi, it looks like my answer wasn't send. I tested the script again. Same error message. I do not miss step3. That topic was/is already active. I disabled and later enabled it again. Same result. It always stops at line 40. Any idea?
This comment was minimized by the moderator on the site
Hello, Jörg Normann

The code works well in my Outlook, which Outlook version you used? Or you can upload the error screenshot here.
Thank you!
This comment was minimized by the moderator on the site
Hello, I did it the way as described. Step 3 (MS Excel 16.0 Object Library) was allready active. I disabled and lated enabled it again. When I click F5 there is no question for a folder to store. I get an error message: Error in line 40: "Fehler beim Kompilieren: Benutzerdefinierter Typ nicht definiert".
This comment was minimized by the moderator on the site
Hallo, bei mir führt der Code beim Ausführen zu einem Fehler in Zeile 40 "Fehler beim Kompilieren: Benutzerdefinierter Typ nicht definiert". Und anders als in der Beschreibung wir bei mir in Punkt 4. weder nach dem Ordner noch nach dem Mail-Konto gefragt.
This comment was minimized by the moderator on the site
Hello, Jörg.N
If you get the error prompt message, please check if you missed the step3 in this article.
You should follow the steps in the article step by step, if there is still problem, please comment here.
Thank you!
This comment was minimized by the moderator on the site
This code is great and works great, thank you.
What would maker even extra great would be if it could show the sizes (in bytes, kilobytes, megabytes, petabytes, whatever) and even possibly the item count for each folder.
:)
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations