How to get list of folders in Outlook?
Sometimes the tree structure of all mail folders (include the created personal folders) in the Navigation Pane can do some help for Outlook users during their work. For quickly list the whole tree structure folders, the VBA code can help you. In this tutorial, you can learn how to get list of folders easily with VBA code.
- Auto CC/BCC by rules when sending email; Auto Forward Multiple Emails by rules; Auto Reply without exchange server, and more automatic features...
- BCC Warning - show message when you try to reply all if your mail address is in the BCC list; Remind When Missing Attachments, and more remind features...
- Reply (All) With All Attachments in the mail conversation; Reply Many Emails at once; Auto Add Greeting when reply; Auto Add Date&Time into subject...
- Attachment Tools: Auto Detach, Compress All, Rename All, Auto Save All... Quick Report, Count Selected Mails, Remove Duplicate Mails and Contacts...
- More than 100 advanced features will solve most of your problems in Outlook 2021 - 2010 or Office 365. Full features 60-day free trial.
For getting list of folders in Outlook with VBA code, please do as follows.
1. Press the Alt + F11 keys on the keyboard to open the Microsoft Visual Basic for Applications window.
2. Then double click the Project1 > Microsoft Outlook Object > ThisOutlookSession to open the Project1 – ThisOutlookSession window. See screenshot:
3. Then copy and paste the below VBA code into the Project1 – ThisOutlookSession window.
VBA: get list of folders in Outlook
Option Explicit Sub GetFoldersList() On Error GoTo On_Error Dim Report As String Dim Folder As Outlook.Folder For Each Folder In Application.Session.Folders Report = Report & "---------------------------------------------------------------------------" & vbCrLf Call RecurseFolders(Folder, "", Report) Next Call CreateReportEmail("Outlook Folders List", Report) Exiting: Exit Sub On_Error: MsgBox "error=" & Err.Number & " " & Err.Description End Sub Sub RecurseFolders(CurrentFolder As Outlook.Folder, TabChars, ByRef Report As String) Dim SubFolder As Outlook.Folder Dim FolderName, StoreName As String FolderName = CurrentFolder.Name StoreName = CurrentFolder.Store.DisplayName Report = Report & TabChars & FolderName & " (Store: " & StoreName & ")" & vbCrLf For Each SubFolder In CurrentFolder.Folders Call RecurseFolders(SubFolder, TabChars & vbTab, Report) Next SubFolder End Sub Sub CreateReportEmail(Title As String, Report As String) Dim aMail As MailItem Set aMail = Application.CreateItem(olMailItem) aMail.Subject = Title aMail.Body = Report aMail.Display End Sub
4. Press the F5 key on the keyboard to start running the VBA code.
5. Now a Macro dialog box pops up, please click the Run button.
6. Wait for the Macro running. Then the list of all your email folders is listed out in a created new message window immediately. You can easily print it out. See screenshot:
Note: This VBA code can be applied to Outlook 2007, 2010 and 2013.
Best Office Productivity Tools
Kutools for Outlook - Over 100 Powerful Features to Supercharge Your Outlook
📧 Email Automation: Out of Office (Available for POP and IMAP) / Schedule Send Emails / Auto CC/BCC by Rules When Sending Email / Auto Forward (Advanced Rules) / Auto Add Greeting / Automatically Split Multi-Recipient Emails into Individual Messages ...
Over 100 Features Await Your Exploration! Click Here to Discover More.