Domyślnie możesz uruchomić regułę tylko w jednym folderze naraz. W tym artykule nauczymy Cię, jak wykorzystać fragment kodu VBA do uruchomienia określonej reguły we wszystkich folderach poczty.
Outlook zezwala użytkownikom na ręczne uruchamianie reguł. Możesz po prostu wejść do okna dialogowego „Reguły i alerty” i nacisnąć przycisk „Uruchom reguły teraz”. W kolejnym oknie dialogowym wybierz określoną regułę i folder, w którym chcesz uruchomić tę regułę. Jeśli jednak chcesz szybko uruchomić regułę we wszystkich folderach poczty, możesz użyć następującego kodu VBA.

Szybko uruchom określoną regułę we wszystkich folderach poczty
- W pierwszej kolejności starprogram Outlook.
- Następnie w głównym oknie Outlooka naciśnij klawisze „Alt + F11”.
- Następnie w pojawiającym się oknie „Microsoft Visual Basic for Applications” należy otworzyć nieużywany moduł.
- Następnie skopiuj poniższy kod VBA do tego okna modułu. Ponadto należy zmienić niektóre wiersze na podstawie własnego przypadku, na przykład nazwy reguły.
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
- Następnie sprawdź ustawienia makr programu Outlook, upewniając się, że makra są dozwolone.
- W końcu możesz spróbować.
- Wystarczy kliknąć podprocedurę „RunSpecificRule_AllMailFolders”.
- Następnie naciśnij klawisz F5, aby uruchomić ten kod.
- Następnie makro zostanie uruchomione natychmiast.
- Po zakończeniu otrzymasz wiadomość, jak na poniższym zrzucie ekranu. Odnosi się do zakończenia reguły.
Uważaj na złośliwe makra
Jak wszyscy wiemy, złośliwe wiadomości e-mail stają się coraz bardziej powszechne. Takie e-maile często zawierają złośliwe makra. Dlatego jeśli ustawisz poziom bezpieczeństwa makr programu Outlook na niski, musisz uważać na ukryte wirusy i złośliwe oprogramowanie. Co więcej, rozsądnie jest zdobyć potężne narzędzie do naprawy plików PST, takie jak DataNumen Outlook Repair. Jest w stanie naprawa PST plik i wyodrębnij maksimum danych bez wysiłku.
Wprowadzenie autora:
Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym odzyskać mdf i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com

