Log in  \/ 
x
or
 Use Facebook account  Use Google account  Use Microsoft account  Use LinkedIn account
x
x
Register  \/ 
x

or
 Use Facebook account  Use Google account  Use Microsoft account  Use LinkedIn account

How to find folder (full folder path) by folder name in Outlook?

For instance, on Navigation pane you move a folder and drop to an unknown folder by mistake in Outlook, you want to restore this folder but cannot find out it immediately. Unfortunately, Outlook does not support the Find feature same as that in Microsoft Word or Excel. Do not worry! You can apply a VBA macro to solve this problem in Outlook.

Find folder (full folder path) by folder name with VBA

Kutools for Outlook: 20+ New Advanced Tools for Outlook.
Office Tab: Enable Tabbed Editing and Browsing in Office, Just Like Chrome, Firefox, IE 8/9/10.
Classic Menu: Bring Old Menus and Toolbars Back to Office 2007, 2010, 2013 and 2016.

arrow blue right bubbleFind folder (full folder path) by folder name with VBA

Please follow below steps to search for folders by folder names with VBA in Outlook.

1. Press Alt + F11 keys together to open the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and then paste below VBA code into the new Module window.

VBA: Search and open folders by folder name in Outlook

Private m_Folder As MAPIFolder
Private m_Find As String
Private m_Wildcard As Boolean

Private Const SpeedUp As Boolean = True
Private Const StopAtFirstMatch As Boolean = True

Public Sub FindFolder()
Dim sName As String
Dim oFolders As Folders

  Set m_Folder = Nothing
m_Find = ""
m_Wildcard = False

  sName = InputBox("Find:", "Search folder")
If Len(Trim(sName)) = 0 Then Exit Sub
m_Find = sName

  m_Find = LCase(m_Find)
m_Find = Replace(m_Find, "%", "*")
m_Wildcard = (InStr(m_Find, "*"))

  Set oFolders = Application.Session.Folders
LoopFolders oFolders

  If Not m_Folder Is Nothing Then
If MsgBox("Activate folder: " & vbCrLf & m_Folder.FolderPath, vbQuestion Or vbYesNo) = vbYes Then
Set Application.ActiveExplorer.CurrentFolder = m_Folder
End If
Else
MsgBox "Not found", vbInformation
End If
End Sub

Private Sub LoopFolders(Folders As Outlook.Folders)
Dim oFolder As MAPIFolder
Dim bFound As Boolean

If SpeedUp = False Then DoEvents

  For Each oFolder In Folders
If m_Wildcard Then
bFound = (LCase(oFolder.Name) Like m_Find)
Else
bFound = (LCase(oFolder.Name) = m_Find)
End If

    If bFound Then
If StopAtFirstMatch = False Then
If MsgBox("Found: " & vbCrLf & oFolder.FolderPath & vbCrLf & vbCrLf & "Continue?", vbQuestion Or vbYesNo) = vbYes Then
bFound = False
End If
End If
End If
If bFound Then
Set m_Folder = oFolder
Exit For
Else
LoopFolders oFolder.Folders
If Not m_Folder Is Nothing Then Exit For
End If
Next
End Sub

3. Press F5 key or click the Run button to run this VBA.

4. In the popping out Search folder dialog box, please type the specified folder name you will search by, and click the OK button. See screenshot:

Note: This VBA supports asterisk wildcard. For example, you can type tes* to find out all folders whose name begin with tes.

5. Now a dialog box comes out and shows the folder path of found folder. If you need to open the found folder, please click the Yes button.

And now the found folder is opening on the Navigation pane as below screenshot shown:

Note: If there are more than one folders named with the specified name, this VBA can find and open one folder only.


arrow blue right bubbleRelated Articles


arrow blue right bubble 20+ Powerful Tools and Features for Outlook 2010 / 2013 / 2016 / Office 365:

li-orangeCompatible with Outlook 2010 / 2013 / 2016 / Office 365 (32/64);

li-orangeCompatible with Windows XP, Windows Vista, Windows 7 / 8 / 10, Windows Server 2003/2008, Citrix System and Windows Terminal (Remote Desktop) Server;

li-orangeFree trial without feature limitation in 45 days!

READ MORE | FREE DOWNLOAD | BUY NOW

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.