Przejdź do głównej zawartości

Jak wyeksportować strukturę folderów z Outlooka do Excela?

W tym artykule przedstawię, jak wyeksportować strukturę folderów konta z programu Outlook do pliku Excel. Osiągnij to dzięki szczegółom tego artykułu.

Eksport struktury folderów konta z Outlooka do Excela przy użyciu kodu VBA


Eksport struktury folderów konta z Outlooka do Excela przy użyciu kodu VBA

Poniższy kod VBA może wyświadczyć ci przysługę, wykonaj poniższe czynności:

1. Włącz program Excel i przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: Eksport struktury folderów konta z Outlooka do Excela:

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. Jeszcze w Microsoft Visual Basic for Applications okno, kliknij Tools > Referencje , aby przejść do Referencje-projekt 1 okno dialogowe i zaznacz Biblioteka obiektów programu Microsoft Excel opcja z Dostępne referencje pole listy, zobacz zrzut ekranu:

Doc eksport struktury folderów do programu Excel 1

4. Następnie kliknij OK i naciśnij F5 klucz do uruchomienia tego kodu, a Wybierz folder pojawi się okno dialogowe, wybierz konto e-mail, które chcesz wyeksportować strukturę folderów, zobacz zrzut ekranu:

Doc eksport struktury folderów do programu Excel 2

5. A następnie kliknij OK przycisk, a Zapisz plik zostanie wyświetlone okno, proszę podać lokalizację i nazwę pliku dla tego wyeksportowanego pliku, patrz zrzut ekranu:

Doc eksport struktury folderów do programu Excel 3

6. Nareszcie kliknij Zapisz i możesz przejść do określonego skoroszytu programu Excel, który zapisałeś, aby wyświetlić wyeksportowaną strukturę folderów, patrz zrzut ekranu:

Doc eksport struktury folderów do programu Excel 4

 


Najlepsze narzędzia biurowe

Kutools dla programu Outlook - Ponad 100 zaawansowanych funkcji, które usprawnią Twoje perspektywy

🤖 Asystent poczty AI: Natychmiastowe profesjonalne e-maile z magią AI — genialne odpowiedzi jednym kliknięciem, doskonały ton, biegła znajomość wielu języków. Zmień e-mailing bez wysiłku! ...

📧 Automatyzacja poczty e-mail: Poza biurem (dostępne dla POP i IMAP)  /  Zaplanuj wysyłanie wiadomości e-mail  /  Automatyczne CC/BCC według reguł podczas wysyłania wiadomości e-mail  /  Automatyczne przewijanie (Zasady zaawansowane)   /  Automatyczne dodawanie powitania   /  Automatycznie dziel wiadomości e-mail od wielu odbiorców na pojedyncze wiadomości ...

📨 Zarządzanie e-mail: Łatwe przywoływanie e-maili  /  Blokuj oszukańcze wiadomości e-mail według tematów i innych  /  Usuń zduplikowane wiadomości e-mail  /  Wiecej opcji  /  Konsoliduj foldery ...

📁 Załączniki ProZapisz zbiorczo  /  Odłącz partię  /  Kompresuj wsadowo  /  Automatyczne zapisywanie   /  Automatyczne odłączanie  /  Automatyczna kompresja ...

🌟 Magia interfejsu: 😊Więcej ładnych i fajnych emotikonów   /  Zwiększ produktywność programu Outlook dzięki widokom na kartach  /  Zminimalizuj program Outlook zamiast go zamykać ...

>> Cuda jednym kliknięciem: Odpowiedz wszystkim, dodając przychodzące załączniki  /   E-maile chroniące przed phishingiem  /  🕘Pokaż strefę czasową nadawcy ...

👩🏼‍🤝‍👩🏻 Kontakty i kalendarz: Grupowe dodawanie kontaktów z wybranych e-maili  /  Podziel grupę kontaktów na pojedyncze grupy  /  Usuń przypomnienia o urodzinach ...

O Cechy 100 Poczekaj na eksplorację! Kliknij tutaj, aby dowiedzieć się więcej.

 

 

 

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