Əsas Gələnlər qutusu və ya Göndərilən Öğeler qovluğunda alt qovluqlar varsa, VBA-dan istifadə edərək onları rekursiv və səmərəli şəkildə necə keçmək çox faydalı məsləhətdir. Bu kritik parça bir çox digər VBA layihələrində təkrar istifadə edilə bilər.
Qovluqları keçməyin kritik problemi
Outlook-un korporativ və kommersiya istifadəçiləri tez-tez əsas gələnlər qutusunun və ya göndərilənlər qovluğunun altında yüzlərlə alt qovluğa sahib olurlar və hər birində müvafiq e-poçtlar olur. Bütün bu qovluqlarda olan e-poçtlar üzərində bir hərəkət etmək üçün onları nəzərdən keçirmək lazım gəldikdə, fərqli qovluqlar üçün fərqli VBA skriptləri yazmaq kabusa çevrilir. Təsəvvür edin ki, əsas Gələnlər qutusu qovluğunun altında beş yüz qovluq və hər biri üçün VBA skript tələbi var. İstifadəçi bu qovluqların hər biri üçün oxşar funksionallıqla beş yüz unikal skript yazmalı olacaq. Daha da pisi, bəzi dəyişikliklər etmək lazım gələrsə, bütün beş yüz skriptin yenilənməsi tələb olunacaq. Xoşbəxtlikdən, problemimizi asanlıqla həll edən rekursiya kimi tanınan bir proqramlaşdırma metodologiyası mövcuddur. Rekursiya ideyası, bir funksiyanın özünü dəfələrlə çağırması və eyni məntiqlə bütün elementləri emal etmək üçün eyni nümunədən təkrar-təkrar keçməsidir. Aşağıda əsas Gələnlər qutusu qovluğundan başlayan və hər birindəki bütün alt qovluqlar və elementlər arasında təkrarlanan bir nümunə skript verilmişdir.
Outlook VBA Skripti
Aşağıda tam Outlook VBA skripti verilmişdir:
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
Skripti necə işə salmaq olar
mətbuat Alt + F11 Outlook VBA redaktorunu açmaq və yuxarıdakı kodu “ThisOutlookSession” bölməsinə yapışdırmaq üçün. Bu skripti işə salmadan əvvəl, XX-nin kitabxana versiyası olduğu “Alətlər” menyusundan layihə istinadlarına Microsoft Outlook XX Obyekt kitabxanasının əlavə edilməli olduğunu bilmək vacibdir.
Skripti anlayın

Fəlakətdən qurtarın
Outlook-un sıradan çıxması və ya sıradan çıxması ilə qarşılaşırsınızsa, itirilmiş e-poçtlar barədə narahat olmağa ehtiyac yoxdur, çünki DataNumen tərəfindən həyatınızı normala qaytaracaq Outlook korrupsiyasının aradan qaldırılması səmərəli şəkildə.
Müəllif Giriş:
Meri Underwood məlumatların bərpası üzrə mütəxəssisdir DataNumendaxil olmaqla məlumatların bərpası texnologiyaları üzrə dünya lideri olan , Inc dwg bərpası və rar bərpa proqram məhsulları. Ətraflı məlumat üçün ziyarət edin www.datanumen.com