Skip i'r prif gynnwys

Sut i ddod o hyd i ffolder (llwybr ffolder llawn) yn ôl enw'r ffolder yn Outlook?

Er enghraifft, ar y cwarel Llywio rydych chi'n symud ffolder ac yn ei ollwng i ffolder anhysbys trwy gamgymeriad yn Outlook, rydych chi am adfer y ffolder hon ond ni allwch ei ddarganfod ar unwaith. Yn anffodus, nid yw Camre yn cefnogi'r Dod o hyd i nodwedd yr un fath â'r un yn Microsoft Word neu Excel. Peidiwch â phoeni! Gallwch gymhwyso macro VBA i ddatrys y broblem hon yn Outlook.

Chwiliwch yn gyflym ac agor ffolderau yn ôl enw ffolder gydag offeryn anhygoel

Yn gyffredinol, gallwn chwilio ffolderi yn ôl enw ffolder gyda chod VBA. Gall y rhan fwyaf o god VBA chwilio ffolderi yn y blwch post cyfredol, ac agor y ffolder a ddarganfuwyd gyntaf yn unig. Nawr gyda'r Go To nodwedd o Kutools ar gyfer Outlook , gallwch chi ddod o hyd i ffolderi yn hawdd yn ôl enw ffolder yn hawdd, ac agor unrhyw un o ffolderi a ddarganfuwyd yn ôl yr angen.



Dewch o hyd i ffolder (llwybr ffolder llawn) yn ôl enw'r ffolder gyda VBA

Dilynwch y camau isod i chwilio am ffolderau yn ôl enwau ffolderi gyda VBA yn Outlook.

1. Gwasgwch Alt + F11 allweddi gyda'i gilydd i agor ffenestr Microsoft Visual Basic for Applications.

2. Cliciwch Mewnosod > Modiwlau, ac yna pastiwch islaw cod VBA i mewn i ffenestr y Modiwl newydd.

VBA: Chwilio ac agor ffolderau yn ôl enw ffolder yn 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. Gwasgwch F5 allwedd neu cliciwch y Run botwm i redeg y VBA hwn.

4. Yn y blwch deialog ffolder Chwilio, teipiwch enw'r ffolder penodedig y byddwch chi'n chwilio amdano, a chliciwch ar y OK botwm. Gweler y screenshot:

Nodyn: Mae'r VBA hwn yn cefnogi cerdyn gwyllt seren. Er enghraifft, gallwch deipio tes * i ddarganfod yr holl ffolderau y mae eu henw yn dechrau tes.

5. Nawr mae blwch deialog yn dod allan ac yn dangos llwybr ffolder y ffolder a ddarganfuwyd. Os oes angen ichi agor y ffolder a ddarganfuwyd, cliciwch y Ydy botwm.

Ac yn awr mae'r ffolder a ddarganfuwyd yn agor ar y cwarel Llywio fel y dangosir isod y llun:

Nodyn: Os oes mwy nag un ffolder wedi'i enwi gyda'r enw penodedig, gall y VBA hwn ddod o hyd i un ffolder yn unig a'i agor.


Chwilio ffolder yn ôl enw ffolder gan offeryn anhygoel

Os oes gennych chi Kutools ar gyfer Outlook wedi'i osod, gallwch chi gymhwyso ei nodwedd Go To i ddarganfod pob ffolder yn gyflym gan enw ffolder penodol, ac yn hawdd agor unrhyw un a ddarganfuwyd ffolderi hefyd.

Kutools ar gyfer Rhagolwg: Supercharge Outlook gyda dros 100 o offer y mae'n rhaid eu cael. Prawf ei yrru AM DDIM am 60 diwrnod, dim tannau ynghlwm!   Read More ...   Lawrlwytho Nawr!

1. Cliciwch Kutools Byd Gwaith > Ewch i i alluogi'r nodwedd hon.

2. Yn y dialog Ewch i, teipiwch enw'r ffolder penodedig yn y Chwilio blwch, dewiswch ffolder yn y canlyniadau chwilio, a chliciwch ar y Ok botwm.

Nawr mae'r ffolder penodedig sydd ag enw penodol y ffolder yn cael ei ddarganfod a'i agor ar unwaith.


Erthyglau cysylltiedig:


Offer Cynhyrchiant Swyddfa Gorau

Kutools ar gyfer Rhagolwg - Dros 100 o Nodweddion Pwerus i Werthu Eich Outlook

🤖 Cynorthwy-ydd Post AI: E-byst pro ar unwaith gyda hud AI - un clic i atebion athrylith, tôn berffaith, meistrolaeth amlieithog. Trawsnewid e-bostio yn ddiymdrech! ...

📧 E-bostio Automation: Allan o'r Swyddfa (Ar gael ar gyfer POP ac IMAP)  /  Amserlen Anfon E-byst  /  Auto CC/BCC gan Reolau Wrth Anfon E-bost  /  Awto Ymlaen (Rheolau Uwch)   /  Auto Ychwanegu Cyfarchiad   /  Rhannwch E-byst Aml-Dderbynnydd yn Negeseuon Unigol yn Awtomatig ...

📨 Rheoli E-bost: Dwyn i gof E-byst yn Hawdd  /  Rhwystro E-byst Sgam gan Bynciau ac Eraill  /  Dileu E-byst Dyblyg  /  Chwilio Manwl  /  Cydgrynhoi Ffolderi ...

📁 Ymlyniadau ProArbed Swp  /  Swp Datgysylltu  /  Cywasgu Swp  /  Auto Achub   /  Datgysylltiad Auto  /  Cywasgiad Auto ...

🌟 Rhyngwyneb Hud: 😊Mwy o Emojis Pretty a Cŵl   /  Rhowch hwb i'ch Cynhyrchiant Outlook gyda Golygfeydd Tabbed  /  Lleihau Outlook Yn lle Cau ...

???? Rhyfeddodau un clic: Ateb Pawb ag Ymlyniadau Dod i Mewn  /   E-byst Gwrth-Gwe-rwydo  /  🕘Dangos Parth Amser yr Anfonwr ...

👩🏼‍🤝‍👩🏻 Cysylltiadau a Chalendr: Swp Ychwanegu Cysylltiadau O E-byst Dethol  /  Rhannwch Grŵp Cyswllt i Grwpiau Unigol  /  Dileu Atgoffa Pen-blwydd ...

Dros Nodweddion 100 Aros Eich Archwiliad! Cliciwch Yma i Ddarganfod Mwy.

 

 

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