По подразбиране можете да изпълнявате правило само в една папка наведнъж. В тази статия ще ви научим как да използвате част от VBA код, за да изпълните конкретно правило във всички пощенски папки.
Outlook позволява на потребителите да изпълняват правило ръчно. Можете просто да отворите диалоговия прозорец „Правила и сигнали“ и да натиснете бутона „Изпълни правила сега“. В следващия диалогов прозорец изберете конкретно правило и изберете папка, в която искате да изпълните това правило. Но ако искате бързо да стартирате правило във всички пощенски папки, можете да използвате следния VBA код.

Бързо изпълнение на конкретно правило във всички пощенски папки
- На първо място, start вашата програма Outlook.
- След това в главния прозорец на Outlook натиснете бутоните „Alt + F11“.
- След това в появяващия се прозорец „Microsoft Visual Basic за приложения“ трябва да отворите неизползван модул.
- След това копирайте VBA кода по-долу в прозореца на този модул. Освен това трябва да промените някои редове въз основа на вашия собствен случай, като например името на правилото.
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
- След това трябва да проверите настройките на макроса на Outlook, като се уверите, че макросът е разрешен.
- В крайна сметка можете да опитате.
- Просто щракнете върху подпрограмата „RunSpecificRule_AllMailFolders“.
- След това натиснете клавишния бутон F5, за да активирате този код.
- След това макросът ще се стартира незабавно.
- След като приключи, ще получите съобщение като следната екранна снимка. Отнася се за това, че правилото е приключило.
Внимавайте за злонамерени макроси
Както всички знаем, злонамерените имейли стават все по-разпространени. Такива имейли често съдържат злонамерени макроси. По този начин, ако зададете ниско ниво на защита на макроса на Outlook, трябва да се пазите от скритите вируси и зловреден софтуер. Освен това е разумно да се сдобиете с мощен инструмент за корекция на PST, като напр DataNumen Outlook Repair, Той е в състояние да ремонт PST файл и извличане на максимум данни за вас, без да се потите.
Въведение на автора:
Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително възстанови mdf и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com

