How to find folder by name in Outlook?
For example, you have created many email folders in Outlook, when a specified personal folder need to be opened, you have to expand multiple folders until that specified folder shows up. It is troublesome to expand multiple folders one by one just for opening a specified personal folder. Actually, if you remember the folder name, all things will become easily. In this tutorial, we will provide you with a method of finding folder by its name in Outlook instead of expanding folders one by one to find the folder.
With following VBA code, you can easily find a specified folder by its name.
Note: You need to remember the folder name in order to use this VBA code.
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. Copy and paste the following VBA code into the Project1 – ThisOutlookSession window.
VBA: find folder by name
Sub FindFolderByName() Dim Name As String Dim FoundFolder As Folder Name = InputBox("Find Name:", "Search Folder") If Len(Trim$(Name)) = 0 Then Exit Sub Set FoundFouder = FindInFolders(Application.Session.Folders, Name) If Not FoundFouder Is Nothing Then If MsgBox("Activate Folder: " & vbCrLf & FoundFouder.FolderPath, vbQuestion Or vbYesNo) = vbYes Then Set Application.ActiveExplorer.CurrentFolder = FoundFouder End If Else MsgBox "Not Found", vbInformation End If End Sub Function FindInFolders(TheFolders As Outlook.Folders, Name As String) Dim SubFolder As Outlook.MAPIFolder On Error Resume Next Set FindInFolders = Nothing For Each SubFolder In TheFolders If LCase(SubFolder.Name) Like LCase(Name) Then Set FindInFolders = SubFolder Exit For Else Set FindInFolders = FindInFolders(SubFolder.Folders, Name) If Not FindInFolders Is Nothing Then Exit For End If Next End Function
4. Then press F5 key on the keyboard to run the VBA code.
5. In the Macros dialog box, click the Run button.
6. In the popping up Search Folder dialog box, please type the folder name in the text box, then click the OK button. See screenshot:
7. Then a Microsoft Outlook dialog box pops up, it shows the path of your desired folder, and then click the Yes button.
8. Then the specified email folder will be opened immediately.
Note: This VBA code can be applied to Outlook 2007, 2010 and 2013.
If you are not good at VBA, you can try Kutools for Outlook's Go To utility, which can find and search folder with name or specific character, then directly go to the folder
|Kutools for Outlook , Includes 100 powerful features and tools for Microsoft Outlook 2016, 2013, 2010 and Office 365. |
Free install Kutools for Outlook, and then do as below steps:
- Auto CC/BCC by rules when sending email; Auto Forward Multiple Emails by custom; 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 in seconds; Auto Add Greeting when reply; Add Date into subject...
- Attachment Tools: Manage All Attachments in All Mails, Auto Detach, Compress All, Rename All, Save All... Quick Report, Count Selected Mails...
- Powerful Junk Emails by custom; Remove Duplicate Mails and Contacts... Enable you to do smarter, faster and better in Outlook.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
- To post as a guest, your comment is unpublished.· 3 years agoIt looks great but I'm looking more folder with similar name....
- To post as a guest, your comment is unpublished.· 3 years agoI am currently working with Outlook 2013, and while this tool is wonderfully helpful, I'm in the same boat as Matt and Richard. I would like to be able to somehow go through multiple folders with the same name. I would also like to be able to do this: if I have multiple folders with dates, 2012,2013,2014 for example, I would like to be able to put in 20* or 20?? and then be prompted to view any of the aforementioned folders, instead of just defaulting to the first one it finds.
- To post as a guest, your comment is unpublished.· 3 years agoThe line "Function FindInFolders(TheFolders As Outlook.Folders, Name As String)" is throwing a compile error message - User-defined type not defined
- To post as a guest, your comment is unpublished.· 3 years agothe line "Function FindInFolders(TheFolders As Outlook.Folders, Name As String)" is throwing a Compile error message: [b][u]User-defined type not defined[/u][/b]
- To post as a guest, your comment is unpublished.· 4 years agoJust like Matt wrote, I was also looking for this. The way the code operates is that it will open the first folder it finds with the name to search for. Is it possible to adjust the code so it will find multiple instances?
- To post as a guest, your comment is unpublished.· 4 years agoIs there a way to add folder iteration to the above code. Say the user has multiple folders named Employee, is it possible for it to go through a loop to find all instances and allow user to select appropriate folder?