Ana Gelen Kutusu veya Gönderilmiş Öğeler klasöründe alt klasörler varsa, bunları VBA kullanarak yinelemeli ve verimli bir şekilde nasıl geçeceğiniz çok yararlı bir ipucudur. Bu kritik parça, diğer birçok VBA projesinde yeniden kullanılabilir.
Klasörleri Gezmenin Kritik Problemi
Outlook'un kurumsal ve ticari kullanıcıları genellikle ana gelen kutusu veya gönderilen öğeler klasörünün altında, her birinde ilgili e-postalar bulunan yüzlerce alt klasöre sahip olurlar. Bu klasörlerin tümünü tek tek inceleyip içerdikleri e-postalar üzerinde bir işlem yapılması gerektiğinde, farklı klasörler için farklı VBA komut dosyaları yazmak bir kabusa dönüşür. Ana Gelen Kutusu klasörünün altında beş yüz klasörünüz olduğunu ve her biri için bir VBA komut dosyasına ihtiyacınız olduğunu düşünün. Kullanıcı, benzer işlevselliğe sahip beş yüz farklı komut dosyası yazmak zorunda kalacaktır. Daha da kötüsü, bazı değişiklikler yapılması gerektiğinde, beş yüz komut dosyasının tamamının güncellenmesi gerekecektir. Neyse ki, sorunumuzu kolayca çözen özyinelemeli bir programlama yöntemi vardır. Özyineleme fikri, bir fonksiyonun kendisini tekrar tekrar çağırması ve tüm öğeleri aynı mantıkla işlemek için aynı deseni tekrar tekrar izlemesidir. Aşağıda, ana Gelen Kutusu klasöründen başlayıp tüm alt klasörleri ve bu klasörlerin her birindeki öğeleri yineleyen örnek bir komut dosyası bulunmaktadır.
Outlook VBA Komut Dosyası
Aşağıda eksiksiz Outlook VBA komut dosyası bulunmaktadır:
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
Komut Dosyası Nasıl Çalıştırılır
Basın Alt + F11 Outlook VBA düzenleyicisini açın ve yukarıdaki kodu “ThisOutlookSession” içine yapıştırın. Bu betiği çalıştırmadan önce, “Araçlar” menüsünden Microsoft Outlook XX Nesne kitaplığının proje referanslarına eklenmesi gerektiğini bilmek önemlidir; burada XX kitaplık sürümünü temsil eder.
Komut Dosyasını Anlayın

Felaketten Kurtulmak
Outlook'un çökmesi veya arızalanması gibi bir durumla karşılaşırsanız, e-postalarınızın kaybolması konusunda endişelenmenize gerek yok, çünkü DataNumen tarafından hayatınızı normale döndürecektir. Outlook bozulmasını düzeltme verimli bir şekilde.
Yazar Tanıtımı:
Mary Underwood, veri kurtarma uzmanıdır. DataNumendahil olmak üzere veri kurtarma teknolojilerinde dünya lideri olan , Inc. dwg kurtarma hem de rar kurtarma yazılımı ürünleri. Daha fazla bilgi için ziyaret edin www.datanumen.com