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.
Get list of folders in Outlook 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.
Get list of folders in Outlook with VBA code
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 ...
π¨ Email Management: Easily Recall Emails / Block Scam Emails by Subjects and Others / Delete Duplicate Emails / Advanced Search / Consolidate Folders ...
π Attachments Pro: Batch Save / Batch Detach / Batch Compress / Auto Save / Auto Detach / Auto Compress ...
π Interface Magic: πMore Pretty and Cool Emojis / Boost Your Outlook Productivity with Tabbed Views / Minimize Outlook Instead of Closing ...
π One-click Wonders: Reply All with Incoming Attachments / Anti-Phishing Emails / πShow Sender's Time Zone ...
π©πΌβπ€βπ©π» Contacts & Calendar: Batch Add Contacts From Selected Emails / Split a Contact Group to Individual Groups / Remove Birthday Reminders ...
Over 100 Features Await Your Exploration! Click Here to Discover More.