Kung mayroong mga sub folder sa loob ng pangunahing folder ng Inbox o Mga Naipadalang Item, kung paano gawin ang mga ito sa isang recursive at mahusay na paraan, gamit ang VBA, ay isang napaka-kapaki-pakinabang na tip. Ang kritikal na piraso na ito ay magagamit muli sa maraming iba pang mga proyekto ng VBA.
Ang Kritikal na Problema ng Paglalakbay sa Mga Folder
Ang mga korporasyon at komersyal na gumagamit ng Outlook ay kadalasang nagkakaroon ng daan-daang subfolder sa ilalim ng kanilang pangunahing inbox o folder ng mga ipinadalang item, na may mga kaugnay na email sa bawat isa sa mga iyon. Kapag kailangan mong suriin ang lahat ng mga folder na iyon upang magsagawa ng ilang aksyon sa mga email na nakapaloob sa mga iyon, nagiging bangungot ang pagsulat ng iba't ibang VBA script para sa iba't ibang folder. Isipin na mayroon kang limang daang folder sa ilalim ng pangunahing folder ng Inbox at isang kinakailangan sa VBA script para sa bawat isa sa mga iyon. Ang gumagamit ay kailangang sumulat ng limang daang natatanging script para sa bawat isa sa mga folder na iyon, na may magkakatulad na functionality. Ang mas malala pa, kung kailangan mong gumawa ng ilang pagbabago, ang lahat ng limang daang script ay kinakailangang i-update. Sa kabutihang palad, mayroong isang metodolohiya sa programming na kilala bilang recursion, na lumulutas sa ating problema nang napakadali. Ang ideya ng recursion ay para sa isang function na paulit-ulit na tatawag sa sarili nito at paulit-ulit na dumaan sa parehong pattern, upang maproseso ang lahat ng mga item, nang may parehong lohika. Nasa ibaba ang isang sample na script na nagsisimula sa pangunahing folder ng Inbox at umuulit sa lahat ng mga subfolder at item sa bawat isa sa mga folder na iyon.
Outlook VBA Script
Nasa ibaba ang kumpletong script ng Outlook VBA:
Private Sub Main()
Dim objNameSpace As Outlook.NameSpace
Dim objMainFolder As Outlook.Folder
Set objNameSpace = Application.GetNamespace("MAPI")
Set objMainFolder = objNameSpace.GetDefaultFolder(olFolderInbox)
Call ProcessCurrentFolder(objMainFolder)
End Sub
Private Sub ProcessCurrentFolder(ByVal objParentFolder As Outlook.MAPIFolder)
Dim objCurFolder As Outlook.MAPIFolder
Dim objMail As Outlook.MailItem
On Error Resume Next
' Process each items in the folder
For Each objMail In objParentFolder.Items
' Do your task here ...
Next
' Process the subfolders in the folder recursively
If (objParentFolder.Folders.Count > 0) Then
For Each objCurFolder In objParentFolder.Folders
Call ProcessCurrentFolder(objCurFolder)
Next
End If
End Sub
Paano Patakbuhin ang Script
pindutin Alt + F11 para buksan ang Outlook VBA editor at i-paste ang code sa itaas sa “ThisOutlookSession”. Mahalagang malaman na bago patakbuhin ang script na ito, dapat idagdag ang Microsoft Outlook XX Object library sa mga sanggunian ng proyekto mula sa mga menu na “Tools”, kung saan ang XX ay ang bersyon ng library.
Maunawaan ang Script

Bumawi sa Kalamidad
Kung nahaharap ka sa isang sitwasyon ng pag-crash o pagkabigo ng Outlook, hindi mo kailangang mag-alala tungkol sa mga nawawalang email, dahil DataNumen ibabalik sa normal ang iyong buhay sa pamamagitan ng pag-aayos ng katiwalian sa Outlook sa isang mahusay na paraan.
Panimula ng May-akda:
Si Mary Underwood ay isang dalubhasa sa pagbawi ng data sa DataNumen, Inc., na pinuno ng mundo sa mga teknolohiya sa pagbawi ng data, kasama ang pagbawi ng dwg at rar mga produkto ng software sa pag-recover. Para sa karagdagang impormasyon pagbisita www.datanumen. Sa