Μετάβαση στο κύριο περιεχόμενο

Πώς να βρείτε το φάκελο (διαδρομή πλήρους φακέλου) κατά όνομα φακέλου στο Outlook;

Για παράδειγμα, στο παράθυρο περιήγησης μετακινείτε κατά λάθος έναν φάκελο και μεταβείτε σε άγνωστο φάκελο στο Outlook, θέλετε να επαναφέρετε αυτόν τον φάκελο, αλλά δεν μπορείτε να τον μάθετε αμέσως. Δυστυχώς, το Outlook δεν υποστηρίζει το Εύρεση δυνατότητα ίδια με αυτήν του Microsoft Word ή Excel. Μην ανησυχείς! Μπορείτε να εφαρμόσετε μια μακροεντολή VBA για να επιλύσετε αυτό το πρόβλημα στο Outlook.

Γρήγορη αναζήτηση και άνοιγμα φακέλων με όνομα φακέλου με ένα καταπληκτικό εργαλείο

Γενικά, μπορούμε να αναζητήσουμε φακέλους με όνομα φακέλου με κωδικό VBA. Οι περισσότεροι κώδικες VBA μπορούν να αναζητήσουν φακέλους στο τρέχον γραμματοκιβώτιο και να ανοίξουν μόνο τον πρώτο φάκελο που βρέθηκε. Τώρα με τη δυνατότητα Μετάβασης σε Kutools για Outlook, μπορείτε εύκολα να βρείτε εύκολα φακέλους με το όνομα του φακέλου και να ανοίξετε οποιονδήποτε από τους φακέλους που βρέθηκαν όπως χρειάζεστε.



Εύρεση φακέλου (διαδρομή πλήρους φακέλου) κατά όνομα φακέλου με VBA

Ακολουθήστε τα παρακάτω βήματα για να αναζητήσετε φακέλους με ονόματα φακέλων με VBA στο Outlook.

1. Τύπος άλλος + F11 για να ανοίξετε το παράθυρο της Microsoft Visual Basic for Applications.

2. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι, στη συνέχεια, επικολλήστε κάτω από τον κώδικα VBA στο νέο παράθυρο Module.

VBA: Αναζήτηση και άνοιγμα φακέλων ανά όνομα φακέλου στο 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. Τύπος F5 ή κάντε κλικ στο τρέξιμο για να εκτελέσετε αυτό το VBA.

4. Στο παράθυρο διαλόγου Αναδυόμενος φάκελος αναζήτησης, πληκτρολογήστε το καθορισμένο όνομα φακέλου που θα αναζητήσετε και κάντε κλικ στο OK κουμπί. Δείτε το στιγμιότυπο οθόνης:

Note: Αυτό το VBA υποστηρίζει μπαλαντέρ με αστερίσκο. Για παράδειγμα, μπορείτε να πληκτρολογήσετε δοκιμές * για να μάθετε όλους τους φακέλους των οποίων το όνομα αρχίζει tes.

5. Τώρα βγαίνει ένα παράθυρο διαλόγου και δείχνει τη διαδρομή του φακέλου του βρέθηκε φακέλου. Εάν πρέπει να ανοίξετε το φάκελο που βρέθηκε, κάντε κλικ στο Ναι κουμπί.

Και τώρα ο φάκελος που βρέθηκε ανοίγει στο παράθυρο περιήγησης όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:

Note: Εάν υπάρχουν περισσότεροι από ένας φάκελοι με το καθορισμένο όνομα, αυτό το VBA μπορεί να βρει και να ανοίξει μόνο έναν φάκελο.


Αναζήτηση φακέλου ανά όνομα φακέλου με ένα καταπληκτικό εργαλείο

Εάν έχετε εγκαταστήσει το Kutools για Outlook, μπορείτε να εφαρμόσετε τη λειτουργία Μετάβαση σε για να εντοπίσετε γρήγορα όλους τους φακέλους με ένα συγκεκριμένο όνομα φακέλου και να ανοίξετε εύκολα όλους τους φακέλους που βρέθηκαν.

Kutools για το Outlook: Φορτίστε το Outlook με πάνω από 100 εργαλεία που πρέπει να έχετε. Δοκιμάστε το ΔΩΡΕΑΝ για 60 ημέρες, χωρίς δεσμεύσεις!   Διαβάστε περισσότερα ...   Κατεβάστε τώρα!

1. Κλίκ Kutools Plus > Μετάβαση σε για να ενεργοποιήσετε αυτήν τη λειτουργία.

2. Στο παράθυρο διαλόγου Μετάβαση σε, πληκτρολογήστε το καθορισμένο όνομα φακέλου στο Αναζήτηση πλαίσιο, επιλέξτε ένα φάκελο στα αποτελέσματα αναζήτησης και κάντε κλικ στο Ok κουμπί.

Τώρα ο καθορισμένος φάκελος με το συγκεκριμένο όνομα φακέλου βρίσκεται και ανοίγει αμέσως.


Σχετικά άρθρα:


Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

Kutools για το Outlook - Πάνω από 100 ισχυρές δυνατότητες για υπερφόρτιση του Outlook σας

🤖 Βοηθός αλληλογραφίας AI: Άμεσα επαγγελματικά email με μαγεία AI -- με ένα κλικ για ιδιοφυείς απαντήσεις, τέλειος τόνος, πολυγλωσσική γνώση. Μεταμορφώστε τα email χωρίς κόπο! ...

📧 Αυτοματοποίηση ηλεκτρονικού ταχυδρομείου: Εκτός γραφείου (Διαθέσιμο για POP και IMAP)  /  Προγραμματισμός αποστολής email  /  Αυτόματο CC/BCC βάσει κανόνων κατά την αποστολή email  /  Αυτόματη προώθηση (Σύνθετοι κανόνες)   /  Αυτόματη προσθήκη χαιρετισμού   /  Διαχωρίστε αυτόματα τα μηνύματα ηλεκτρονικού ταχυδρομείου πολλών παραληπτών σε μεμονωμένα μηνύματα ...

📨 Διαχείριση e-mail: Εύκολη ανάκληση email  /  Αποκλεισμός απάτης email από υποκείμενα και άλλους  /  Διαγραφή διπλότυπων μηνυμάτων ηλεκτρονικού ταχυδρομείου  /  Προχωρημένη Αναζήτηση  /  Ενοποίηση φακέλων ...

📁 Συνημμένα ProΜαζική αποθήκευση  /  Αποσύνδεση παρτίδας  /  Συμπίεση παρτίδας  /  Αυτόματη αποθήκευση   /  Αυτόματη απόσπαση  /  Αυτόματη συμπίεση ...

🌟 Διασύνδεση Magic: 😊Περισσότερα όμορφα και δροσερά emojis   /  Ενισχύστε την παραγωγικότητά σας στο Outlook με προβολές με καρτέλες  /  Ελαχιστοποιήστε το Outlook αντί να κλείσετε ...

???? Με ένα κλικ Wonders: Απάντηση σε όλους με εισερχόμενα συνημμένα  /   Email κατά του phishing  /  🕘Εμφάνιση ζώνης ώρας αποστολέα ...

👩🏼‍🤝‍👩🏻 Επαφές & Ημερολόγιο: Μαζική προσθήκη επαφών από επιλεγμένα μηνύματα ηλεκτρονικού ταχυδρομείου  /  Διαχωρίστε μια ομάδα επαφής σε μεμονωμένες ομάδες  /  Κατάργηση υπενθυμίσεων γενεθλίων ...

Διανεμήθηκαν παραπάνω από 100 Χαρακτηριστικά Περιμένετε την εξερεύνηση σας! Κάντε κλικ εδώ για να ανακαλύψετε περισσότερα.

 

 

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