Vaikimisi saate reeglit korraga käitada ainult ühes kaustas. Selles artiklis õpetame teile, kuidas kasutada VBA-koodi, et käivitada kõigis meilikaustades konkreetne reegel.
Outlook võimaldab kasutajatel reeglit käsitsi käivitada. Saate lihtsalt avada dialoogiboksi "Reeglid ja hoiatused" ja vajutada nuppu "Käivita reeglid kohe". Järgmises dialoogiboksis valige konkreetne reegel ja valige kaust, milles soovite seda reeglit käivitada. Kuid kui soovite reeglit kiiresti kõigis meilikaustades käivitada, võite kasutada järgmist VBA-koodi.
Käivitage kiiresti konkreetne reegel kõigis meilikaustades
- Esiteks, start oma Outlooki programmi.
- Seejärel vajutage Outlooki põhiaknas klahvikombinatsiooni Alt + F11.
- Järgmisena peaksite tekkivas aknas "Microsoft Visual Basic for Applications" avama mittekasutuses oleva mooduli.
- Seejärel kopeerige allolev VBA kood sellesse mooduli aknasse. Lisaks peaksite mõningaid ridu muutma vastavalt teie juhtumile, näiteks reegli nimele.
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
- Pärast seda peaksite kontrollima oma Outlooki makro sätteid ja veenduma, et makro on lubatud.
- Lõpuks saate proovida.
- Klõpsake lihtsalt alamprogrammi RunSpecificRule_AllMailFolders.
- Seejärel vajutage selle koodi käivitamiseks nuppu F5.
- Järgmisena käivitatakse makro kohe.
- Kui see on lõpule jõudnud, saate teate, nagu järgmine ekraanipilt. See viitab reegli lõppemisele.
Olge ettevaatlik pahatahtlike makrode eest
Nagu me kõik teame, on pahatahtlikud meilid muutunud üha levinumaks. Sellised meilid sisaldavad sageli pahatahtlikke makrosid. Seega, kui seate oma Outlooki makro turvataseme madalaks, peate olema varjatud viiruste ja pahavara eest ettevaatlik. Lisaks on mõistlik hankida võimas PST-parandustööriist, näiteks DataNumen Outlook Repair. See on võimeline remont PST faili ja ekstraheerige teie jaoks maksimaalselt andmeid ilma higistamata.
Autori sissejuhatus:
Shirley Zhang on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas taastada mdf ja Outlooki remonditarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom


