Oletuksena voit suorittaa säännön vain yhdessä kansiossa kerrallaan. Tässä artikkelissa opetetaan, kuinka voit käyttää VBA-koodinpalaa tietyn säännön suorittamiseen kaikissa postikansioissa.
Outlook sallii käyttäjien suorittaa säännön manuaalisesti. Pääset vain "Säännöt ja hälytykset" -valintaikkunaan ja napsauta "Suorita säännöt nyt" -painiketta. Valitse seuraavassa valintaikkunassa tietty sääntö ja valitse kansio, jossa haluat suorittaa tämän säännön. Mutta jos haluat suorittaa säännön nopeasti kaikissa postikansioissa, voit käyttää seuraavaa VBA-koodia.

Suorita tietty sääntö nopeasti kaikissa sähköpostikansioissa
- Ensinnäkin start Outlook-ohjelmasi.
- Paina sitten Outlookin pääikkunassa ”Alt + F11” -näppäimiä.
- Seuraavaksi avautuvassa "Microsoft Visual Basic for Applications" -ikkunassa sinun pitäisi avata käyttämätön moduuli.
- Kopioi sitten alla oleva VBA-koodi tähän moduuliikkunaan. Lisäksi sinun on vaihdettava joitain rivejä oman tapauksesi perusteella, kuten säännön nimi.
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
- Sen jälkeen sinun on tarkistettava Outlook-makroasetuksesi varmistaaksesi, että makro on sallittu.
- Lopulta voit kokeilla.
- Napsauta vain RunSpecificRule_AllMailFolders-alirutiinia.
- Paina sitten F5-näppäintä käynnistääksesi tämän koodin.
- Seuraavaksi makro suoritetaan välittömästi.
- Kun se on valmis, saat viestin, kuten seuraavan kuvakaappauksen. Se viittaa sääntöön, joka on valmis.
Varo haitallisia makroja
Kuten me kaikki tiedämme, haitalliset sähköpostit ovat lisääntyneet. Tällaiset sähköpostit sisältävät usein haitallisia makroja. Jos siis asetat Outlookin makrotason alhaiselle tasolle, sinun on varottava piilotettuja viruksia ja haittaohjelmia. Lisäksi on järkevää saada käsiinsä tehokas PST-korjaustyökalu, kuten DataNumen Outlook Repair. Se pystyy korjaa PST tiedosto ja poimi enimmäistiedot puolestasi.
Tekijän esittely:
Shirley Zhang on tietojen palauttamisen asiantuntija DataNumen, Inc., joka on maailman johtava tietojen palautustekniikoissa, mukaan lukien palauta mdf ja Outlookin korjausohjelmistotuotteet. Lisätietoja osoitteessa www.datanumen.com

