Passer au contenu principal

Comment trouver un dossier (chemin complet du dossier) par nom de dossier dans Outlook?

Par exemple, dans le volet de navigation, vous déplacez un dossier et le déposez par erreur dans un dossier inconnu dans Outlook, vous souhaitez restaurer ce dossier mais vous ne pouvez pas le trouver immédiatement. Malheureusement, Outlook ne prend pas en charge le Trouvez fonctionnalité identique à celle de Microsoft Word ou Excel. Ne t'en fais pas! Vous pouvez appliquer une macro VBA pour résoudre ce problème dans Outlook.

Recherchez et ouvrez rapidement des dossiers par nom de dossier avec un outil incroyable

En général, nous pouvons rechercher des dossiers par nom de dossier avec le code VBA. La plupart du code VBA peut rechercher des dossiers dans la boîte aux lettres actuelle et ouvrir uniquement le premier dossier trouvé. Désormais, avec la fonctionnalité Aller à de Kutools pour Outlook, vous pouvez facilement rechercher des dossiers par nom de dossier et ouvrir n'importe lequel des dossiers trouvés selon vos besoins.



Rechercher le dossier (chemin d'accès complet au dossier) par nom de dossier avec VBA

Veuillez suivre les étapes ci-dessous pour rechercher des dossiers par nom de dossier avec VBA dans Outlook.

1. presse autre + F11 touches ensemble pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2Cliquez sur insérer > Module, puis collez sous le code VBA dans la nouvelle fenêtre Module.

VBA: recherchez et ouvrez des dossiers par nom de dossier dans 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. presse F5 ou cliquez sur la Courir bouton pour exécuter ce VBA.

4. Dans la boîte de dialogue contextuelle Rechercher le dossier, saisissez le nom du dossier spécifié dans lequel vous rechercherez, puis cliquez sur le bouton OK bouton. Voir la capture d'écran:

Notes: Ce VBA prend en charge le caractère générique astérisque. Par exemple, vous pouvez taper tes * pour découvrir tous les dossiers dont le nom commence par TES.

5. Maintenant, une boîte de dialogue apparaît et affiche le chemin du dossier du dossier trouvé. Si vous devez ouvrir le dossier trouvé, cliquez sur le bouton Oui .

Et maintenant, le dossier trouvé s'ouvre dans le volet de navigation comme illustré ci-dessous:

Notes: S'il y a plus d'un dossier nommé avec le nom spécifié, ce VBA peut trouver et ouvrir un seul dossier.


Rechercher un dossier par nom de dossier à l'aide d'un outil incroyable

Si Kutools for Outlook est installé, vous pouvez appliquer sa fonctionnalité Go To pour trouver rapidement tous les dossiers par un certain nom de dossier et ouvrir facilement tous les dossiers trouvés.

Kutools for Outlook: Boostez Outlook avec plus de 100 outils indispensables. Testez-le GRATUITEMENT pendant 60 jours, sans aucune condition !   Lire la suite...   Télécharger maintenant!

1Cliquez sur Kutools Plus > Aller à pour activer cette fonctionnalité.

2. Dans la boîte de dialogue Aller à, saisissez le nom du dossier spécifié dans le Rechercher , sélectionnez un dossier dans les résultats de la recherche et cliquez sur le Ok .

Maintenant, le dossier spécifié avec le certain nom de dossier est trouvé et ouvert immédiatement.


Articles Liés:


Meilleurs outils de productivité bureautique

Kutools for Outlook - Plus de 100 fonctionnalités puissantes pour booster votre Outlook

🤖 Assistant de messagerie IA: E-mails professionnels instantanés avec la magie de l'IA : un clic pour des réponses géniales, un ton parfait, une maîtrise multilingue. Transformez l’emailing sans effort ! ...

📧 Email Automation: Absent du bureau (disponible pour POP et IMAP)  /  Programmer l'envoi d'e-mails  /  Auto CC/BCC par règles lors de l'envoi d'un e-mail  /  Transfert automatique (règles avancées)   /  Ajouter un message d'accueil automatique   /  Divisez automatiquement les e-mails multi-destinataires en messages individuels 

(I.e. Email Management: Rappel facile des e-mails  /  Bloquer les e-mails frauduleux par sujets et autres  /  Supprimer les e-mails en double  /  Recherche Avancée  /  Consolider les dossiers 

(I.e. Pièces jointes ProSauvegarde par lots  /  Détachement par lots  /  Compression par lots  /  Enregistrement automatique   /  Détachement automatique  /  Compression automatique 

???? Magie de l'interface: 😊Plus d'émojis jolis et cool   /  Boostez votre productivité Outlook avec des vues à onglets  /  Réduire Outlook au lieu de fermer 

???? Merveilles en un clic: Répondre à tous avec les pièces jointes entrantes  /   E-mails anti-hameçonnage  /  🕘Afficher le fuseau horaire de l'expéditeur 

👩🏼‍🤝‍👩🏻 Contacts et calendrier: Ajouter par lots des contacts à partir des e-mails sélectionnés  /  Diviser un groupe de contacts en groupes individuels  /  Supprimer les rappels d'anniversaire 

infos Caractéristiques 100 Attendez votre exploration ! Cliquez ici pour en savoir plus.

 

 

Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thank you for this great macro. I have used it extensively over the past 2 years. My employer switched from Office 16 to Office 365 and since then, this macro is VERY slow. Is there any way to optimize it for Office 365?
Thanks!
This comment was minimized by the moderator on the site
This macro has really helped me is incredible, thank you!!!
Is it possible to to go to the next occurrence, so instead of just Yes/No have something as Yes/Next/No ?
Thank you
This comment was minimized by the moderator on the site
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
Private StopAtFirstMatch As Boolean

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
' Added "*"... for any given string in the folder name
m_Find = "*" & sName & "*"

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

' Set oFolders = Application.Session.Folders
Set oFolders = GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders

LoopFolders oFolders

If Not m_Folder Is Nothing Then
' Removed - If MsgBox("Activate folder: " & vbCrLf & m_Folder.FolderPath, vbQuestion Or vbYesNo) = vbYes Then
Set Application.ActiveExplorer.CurrentFolder = m_Folder
Else
MsgBox "Search End...", 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
Set Application.ActiveExplorer.CurrentFolder = oFolder

If MsgBox("Found: " & vbCrLf & oFolder.FolderPath & vbCrLf & vbCrLf & "Search for next?", vbQuestion Or vbYesNo) = vbYes Then
bFound = False
End If
Else
MsgBox ("Not found")
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
This comment was minimized by the moderator on the site
Hi, if i try to copy and past the macro yes/next/no, I only received the message "Search End".
Could you take a look? I would really appreciate it. Thanks
This comment was minimized by the moderator on the site
Hi, if i try to copy and past the macro yes/next/no, I only received the message "Search End".Could you take a look? I would really appreciate it. Thanks
This comment was minimized by the moderator on the site
Wow this is exactly. I really appreciate it and you did it so fast.Thanks
This comment was minimized by the moderator on the site
Hello,

Thank you for this macro. It works great!


Is there a way to make the macro always search as wildcards? I would be easier to just type a keyword without adding the asterisks every time.
This comment was minimized by the moderator on the site
Replace Line 18 with

m_Find = "*" & sName & "*"
This comment was minimized by the moderator on the site
Replace Line 18 with
m_Find = "*" & sName & "*"
This comment was minimized by the moderator on the site
Hello.

Wow - this is an amazing function, which will make my daily usage of Outlook tons faster.
Thank you so much for publishing!!

A tip for those interested:
If you want to search only INBOX-folders, without public folders etc.
This made it a lot faster for me because the public folder are remote, so the search is quite slow.
And also I'm not interested in those results.


Replace line 24 with:

Set oFolders = GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations