Pagal numatytuosius nustatymus vienu metu taisyklę galite vykdyti tik viename aplanke. Šiame straipsnyje išmokysime, kaip panaudoti VBA kodo dalį, kad būtų galima vykdyti konkrečią taisyklę visuose pašto aplankuose.
„Outlook“ leidžia vartotojams paleisti taisyklę rankiniu būdu. Galite tiesiog pasiekti dialogo langą „Taisyklės ir įspėjimai“ ir paspausti mygtuką „Vykdyti taisykles dabar“. Kitame dialogo lange pasirinkite konkrečią taisyklę ir pasirinkite aplanką, kuriame norite vykdyti šią taisyklę. Bet jei norite greitai paleisti taisyklę visuose pašto aplankuose, galite naudoti šį VBA kodą.

Greitai vykdykite konkrečią taisyklę visuose pašto aplankuose
- Visų pirma, start savo „Outlook“ programą.
- Tada pagrindiniame „Outlook“ lange paspauskite klavišų kombinaciją „Alt + F11“.
- Atsidariusiame lange „Microsoft Visual Basic for Applications“ turėtumėte atidaryti nenaudojamą modulį.
- Tada nukopijuokite toliau pateiktą VBA kodą į šį modulio langą. Be to, kai kurias eilutes turėtumėte pakeisti atsižvelgdami į savo atvejį, pvz., taisyklės pavadinimą.
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 to turėtumėte patikrinti „Outlook“ makrokomandos nustatymus ir įsitikinti, kad makrokomanda leidžiama.
- Galų gale galite pabandyti.
- Tiesiog spustelėkite paprogramę „RunSpecificRule_AllMailFolders“.
- Tada paspauskite F5 klavišą, kad suaktyvintumėte šį kodą.
- Toliau makrokomanda bus paleista iš karto.
- Kai jis bus baigtas, gausite pranešimą, pavyzdžiui, toliau pateiktoje ekrano kopijoje. Tai reiškia, kad taisyklė baigta.
Saugokitės kenkėjiškų makrokomandų
Kaip visi žinome, kenkėjiškų laiškų vis daugėja. Tokie el. laiškai dažnai būna su kenkėjiškomis makrokomandomis. Taigi, jei nustatote žemą Outlook makrokomandos saugos lygį, turite saugotis paslėptų virusų ir kenkėjiškų programų. Be to, protinga turėti galingą PST taisymo įrankį, pvz DataNumen Outlook Repair. Tai sugeba remontas PST failą ir išgauti maksimalų duomenų kiekį už jus nenusileisdami prakaito.
Autoriaus įvadas:
Shirley Zhang yra duomenų atkūrimo ekspertė DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant atkurti mdf ir „Outlook“ taisymo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com

