Ve výchozím nastavení můžete pravidlo spustit pouze v jedné složce najednou. V tomto článku vás naučíme, jak využít část kódu VBA ke spuštění konkrétního pravidla ve všech složkách pošty.
Outlook umožňuje uživatelům spustit pravidlo ručně. Stačí otevřít dialogové okno „Pravidla a upozornění“ a stisknout tlačítko „Spustit pravidla nyní“. V následujícím dialogovém okně vyberte konkrétní pravidlo a vyberte složku, ve které chcete toto pravidlo spustit. Pokud však chcete rychle spustit pravidlo ve všech složkách pošty, můžete použít následující kód VBA.

Rychle spusťte konkrétní pravidlo ve všech složkách pošty
- Na prvním místě je start vašeho programu Outlook.
- Poté v hlavním okně Outlooku stiskněte klávesy „Alt + F11“.
- Dále v nově vznikajícím okně „Microsoft Visual Basic for Applications“ byste měli otevřít nepoužívaný modul.
- Následně zkopírujte níže uvedený kód VBA do tohoto okna modulu. Navíc byste měli změnit některé řádky na základě vlastního případu, například název pravidla.
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
- Poté byste měli zkontrolovat nastavení maker aplikace Outlook a zajistit, aby bylo makro povoleno.
- Nakonec to můžete vyzkoušet.
- Stačí kliknout na podprogram „RunSpecificRule_AllMailFolders“.
- Poté stiskněte klávesu F5 pro spuštění tohoto kódu.
- Dále bude makro spuštěno okamžitě.
- Po dokončení se zobrazí zpráva, jako na následujícím snímku obrazovky. Odkazuje na pravidlo dokončeno.
Dávejte pozor na škodlivá makra
Jak všichni víme, škodlivé e-maily se staly stále častějšími. Takové e-maily často obsahují škodlivá makra. Pokud tedy nastavíte úroveň zabezpečení maker aplikace Outlook na nízkou úroveň, musíte si dávat pozor na skryté viry a malware. Navíc je rozumné sehnat výkonný nástroj pro opravu PST, jako je DataNumen Outlook Repair. Je schopen opravit PST archivujte a extrahujte maximum dat, aniž byste se zapotili.
Úvod autora:
Shirley Zhang je expertem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně obnovit mdf a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com

