Ugrás a tartalomra

Hogyan lehet megtalálni a mappát (teljes mappa elérési útja) mappanév szerint az Outlook programban?

Például a Navigációs ablaktáblán áthelyez egy mappát, és véletlenül egy ismeretlen mappába dobja az Outlook programban, vissza szeretné állítani ezt a mappát, de nem tudja azonnal megtudni. Sajnos az Outlook nem támogatja a Találjon ugyanaz, mint a Microsoft Word vagy az Excel programban. Ne aggódj! VBA makrót alkalmazhat a probléma megoldására az Outlook programban.

Gyorsan kereshet és nyithat meg mappákat mappanév szerint egy csodálatos eszközzel

Általában VBA-kóddal mappanév alapján kereshetünk mappákban. A legtöbb VBA-kód képes keresni az aktuális postafiók mappáiban, és csak az elsőként talált mappát nyitja meg. A Kutools for Outlook Ugrás funkciójával könnyedén megtalálhatja a mappákat mappanév alapján, és bármelyik talált mappát megnyithatja, ha szüksége van rá.



Keresse meg a mappát (teljes mappa elérési útja) mappa neve szerint a VBA segítségével

Kérjük, kövesse az alábbi lépéseket, ha mappákat szeretne keresni mappanevek szerint az VBA segítségével az Outlook programban.

1. nyomja meg más + F11 gombokat együtt a Microsoft Visual Basic for Applications ablak megnyitásához.

2. Kattints betétlap > Modulok, majd illessze be a VBA kód alá az új modul ablakba.

VBA: Mappák keresése és megnyitása mappa név szerint az Outlook programban

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. nyomja meg F5 vagy kattintson a gombra futás gombra a VBA futtatásához.

4. A felbukkanó Keresés mappa párbeszédpanelen írja be a keresett mappa nevét, majd kattintson a gombra OK gomb. Lásd a képernyőképet:

Megjegyzések: Ez a VBA támogatja a csillag helyettesítő karaktereket. Például beírhat tes * hogy megtudja az összes mappát, amelynek neve kezdődik tes.

5. Ekkor megjelenik egy párbeszédpanel, amely megmutatja a megtalált mappa mappa elérési útját. Ha meg kell nyitnia a megtalált mappát, kattintson a gombra Igen gombot.

És most a megtalált mappa megnyílik a Navigációs panelen, az alábbi képernyőképen:

Megjegyzések: Ha egynél több mappa van megadva a megadott névvel, akkor ez a VBA csak egy mappát képes megtalálni és megnyitni.


Keressen mappát mappanév szerint egy csodálatos eszközzel

Ha telepítve van a Kutools for Outlook programban, használhatja az Ugrás funkciót, hogy gyorsan megtalálja az összes mappát egy adott mappanév alapján, és könnyen megnyissa a talált mappákat is.

Kutools az Outlook számára: Töltse fel az Outlookot több mint 100 kötelező eszközzel. Próbavezetéssel INGYENESEN 60 napig, kötöttségek nélkül!   Tovább ...   Töltse le most!

1. Kattints Kutools Plus > Go To a funkció engedélyezéséhez.

2. A Ugrás párbeszédpanelen írja be a megadott mappa nevét a Keresés négyzetet, jelöljön ki egy mappát a keresési eredmények között, majd kattintson a gombra Ok gombot.

Most megtalálja és azonnal megnyitja a megadott mappát a bizonyos mappanévvel.


Kapcsolódó cikkek:


A legjobb irodai hatékonyságnövelő eszközök

Kutools az Outlook számára - Több mint 100 hatékony funkció az Outlook feltöltéséhez

🤖 AI Mail Assistant: Azonnali profi e-mailek mesterséges intelligencia varázslattal – egyetlen kattintással zseniális válaszok, tökéletes hangnem, többnyelvű elsajátítás. Alakítsa át az e-mailezést könnyedén! ...

???? E-mail automatizálás: Hivatalon kívül (POP és IMAP esetén elérhető)  /  Ütemezze az e-mailek küldését  /  Automatikus CC/BCC szabályok szerint e-mail küldésekor  /  Automatikus továbbítás (Speciális szabályok)   /  Automatikus üdvözlet hozzáadása   /  A több címzettnek szóló e-mailek automatikus felosztása egyedi üzenetekre ...

📨 Email Management: Könnyen visszahívhatja az e-maileket  /  Blokkolja az alanyok és mások átverő e-mailjeit  /  Törölje az ismétlődő e-maileket  /  Részletes keresés  /  Mappák összevonása ...

📁 Attachments ProKötegelt mentés  /  Batch Detach  /  Batch tömörítés  /  Automatikus mentés   /  Automatikus leválasztás  /  Automatikus tömörítés ...

🌟 Interface Magic: 😊További szép és menő hangulatjelek   /  Növelje Outlook termelékenységét a füles nézetekkel  /  Minimalizálja az Outlookot a bezárás helyett ...

👍 Csodák egy kattintással: Válasz mindenkinek a bejövő mellékletekkel  /   Adathalászat elleni e-mailek  /  🕘A feladó időzónájának megjelenítése ...

👩🏼‍🤝‍👩🏻 Névjegyek és naptár: Névjegyek kötegelt hozzáadása a kiválasztott e-mailekből  /  Egy kapcsolattartó csoport felosztása egyéni csoportokra  /  Távolítsa el a születésnapi emlékeztetőket ...

Több, mint 100 Jellemzők Várja felfedezését! Kattintson ide, ha többet szeretne megtudni.

 

 

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