Kuidas Outlook VBA abil kiiresti konkreetset reeglit kõigis meilikaustades käivitada

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.

Rakendage Outlook VBA abil kiiresti konkreetne reegel kõigis meilikaustades

Käivitage kiiresti konkreetne reegel kõigis meilikaustades

  1. Esiteks, start oma Outlooki programmi.
  2. Seejärel vajutage Outlooki põhiaknas klahvikombinatsiooni Alt + F11.
  3. Järgmisena peaksite tekkivas aknas "Microsoft Visual Basic for Applications" avama mittekasutuses oleva mooduli.
  4. 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

VBA kood – käivitage konkreetne reegel kõigis meilikaustades

  1. Pärast seda peaksite kontrollima oma Outlooki makro sätteid ja veenduma, et makro on lubatud.
  2. 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.Jooks lõpetab

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

Kommentaarid on suletud.