Privzeto lahko zaženete pravilo samo v eni mapi hkrati. V tem članku vas bomo naučili, kako uporabiti del kode VBA za izvajanje določenega pravila v vseh poštnih mapah.
Outlook dovoljuje uporabnikom ročno izvajanje pravila. Lahko preprosto odprete pogovorno okno »Pravila in opozorila« in pritisnete gumb »Zaženi pravila zdaj«. V naslednjem pogovornem oknu izberite določeno pravilo in izberite mapo, v kateri želite zagnati to pravilo. Če pa želite hitro zagnati pravilo v vseh poštnih mapah, lahko uporabite naslednjo kodo VBA.

Hitro zaženite določeno pravilo v vseh poštnih mapah
- V prvi vrsti start vašega programa Outlook.
- Nato v glavnem Outlookovem oknu pritisnite tipke “Alt + F11”.
- Nato v nastajajočem oknu »Microsoft Visual Basic for Applications« bi morali odpreti modul, ki ni v uporabi.
- Nato kopirajte spodnjo kodo VBA v to okno modula. Poleg tega bi morali spremeniti nekatere vrstice glede na lastne velike in male črke, na primer ime pravila.
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
- Po tem morate preveriti nastavitve makra Outlook in zagotoviti, da je makro dovoljen.
- Sčasoma lahko poskusite.
- Preprosto kliknite podprogram »RunSpecificRule_AllMailFolders«.
- Nato pritisnite tipko F5, da sprožite to kodo.
- Nato se bo makro takoj zagnal.
- Ko se konča, boste prejeli sporočilo, kot je naslednji posnetek zaslona. Nanaša se na končano pravilo.
Pazite na zlonamerne makre
Kot vsi vemo, so zlonamerna e-poštna sporočila vse bolj razširjena. Takšna e-poštna sporočila pogosto vsebujejo zlonamerne makre. Če torej nastavite raven varnosti makra Outlook na nizko, se morate paziti skritih virusov in zlonamerne programske opreme. Poleg tega je pametno dobiti zmogljivo orodje za popravljanje PST, kot je npr DataNumen Outlook Repair. To zmore popravilo PST datoteko in ekstrahira največ podatkov za vas, ne da bi se pri tem pretirano znojil.
Uvod avtorja:
Shirley Zhang je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z izterjati mdf in obeti za popravilo programskih izdelkov. Za več informacij obiščite www.datanumen.com

