Varsayılan olarak, aynı anda yalnızca bir klasörde kural çalıştırabilirsiniz. Bu makalede, tüm posta klasörlerinde belirli bir kuralı çalıştırmak için bir parça VBA kodunu nasıl kullanacağınızı öğreteceğiz.
Outlook, kullanıcıların kuralı manuel olarak çalıştırmasına izin verir. “Kurallar ve Uyarılar” iletişim kutusuna erişebilir ve “Kuralları Şimdi Çalıştır” düğmesine basabilirsiniz. Sonraki iletişim kutusunda, belirli bir kural seçin ve bu kuralı çalıştırmak istediğiniz klasörü seçin. Ancak, bir kuralı tüm posta klasörlerinde hızlı bir şekilde çalıştırmak isterseniz, aşağıdaki VBA kodunu kullanabilirsiniz.

Belirli Bir Kuralı Tüm Posta Klasörlerinde Hızla Çalıştırın
- İlk etapta, star• Outlook programınız.
- Ardından ana Outlook penceresinde “Alt + F11” tuş düğmelerine basın.
- Ardından, ortaya çıkan “Uygulamalar için Microsoft Visual Basic” penceresinde, kullanımda olmayan bir modülü açmalısınız.
- Daha sonra aşağıdaki VBA kodunu bu modül penceresine kopyalayın. Ayrıca, kural adı gibi bazı satırları kendi durumunuza göre değiştirmelisiniz.
Sub RunSpecificRule_AllMailFolders()
Dim objStores As Outlook.Stores
Dim objStore As Outlook.Store
Dim objPSTFile As Outlook.Folder
Dim objFolders As Outlook.folders
Dim objFolder As Object
Set objStores = Outlook.Application.Session.Stores
'Process all Outlook PST files in your Outlook
For Each objStore In objStores
Set objPSTFile = objStore.GetRootFolder
For Each objFolder In objPSTFile.folders
Call ProcessFolders(objFolder)
Next
Next
MsgBox "Complete!", vbExclamation + vbOKOnly, "Run Rule "
End Sub
Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder)
Dim objRules As Outlook.Rules
Dim objRule As Outlook.Rule
Dim objSubfolder As Outlook.Folder
Set objRules = Outlook.Application.Session.DefaultStore.GetRules
'Change the rule name as per your actual case
Set objRule = objRules.Item("Move Mails to Temp")
On Error Resume Next
'Only work on non-empty Mail folder
If objCurrentFolder.Items.count > 0 And objCurrentFolder.DefaultItemType = olMailItem Then
With objRule
.Enabled = True
.Execute ShowProgress:=True, Folder:=objCurrentFolder, IncludeSubfolders:=True
End With
End If
'Process subfolders recursively
If objCurrentFolder.folders.count > 0 Then
For Each objSubfolder In objCurrentFolder.folders
Call ProcessFolders(objSubfolder)
Next
End If
End Sub
- Bundan sonra, makroya izin verildiğinden emin olarak Outlook makro ayarlarınızı kontrol etmelisiniz.
- Sonunda bir deneyebilirsin.
- "RunSpecificRule_AllMailFolders" alt yordamına tıklamanız yeterlidir.
- Ardından bu kodu tetiklemek için F5 tuş düğmesine basın.
- Daha sonra makro hemen çalışacaktır.
- Tamamlandıktan sonra, aşağıdaki ekran görüntüsü gibi bir mesaj alacaksınız. Kuralın bittiğini ifade eder.
Kötü Amaçlı Makrolara Dikkat Edin
Hepimizin bildiği gibi, kötü niyetli e-postalar giderek yaygınlaşıyor. Bu tür e-postalar genellikle kötü amaçlı makrolar taşır. Bu nedenle, Outlook makro güvenlik düzeyinizi düşük olarak ayarlarsanız, gizli virüslere ve kötü amaçlı yazılımlara karşı dikkatli olmalısınız. Ayrıca, güçlü bir PST düzeltme aracına sahip olmak akıllıca olacaktır. DataNumen Outlook Repair. Yapabiliyor PST'yi onar sizin için maksimum veriyi dosyalayın ve ayıklayın.
Yazar Tanıtımı:
Shirley Zhang, bir veri kurtarma uzmanıdır. DataNumendahil olmak üzere veri kurtarma teknolojilerinde dünya lideri olan , Inc. mdf'yi kurtar ve görünüm onarım yazılım ürünleri. Daha fazla bilgi için ziyaret edin www.datanumen.com

