Kako hitro zagnati določeno pravilo v vseh poštnih mapah z Outlookom VBA

Skupna raba zdaj:

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 z Outlook VBA

Hitro zaženite določeno pravilo v vseh poštnih mapah

  1. V prvi vrsti start vašega programa Outlook.
  2. Nato v glavnem Outlookovem oknu pritisnite tipke “Alt + F11”.
  3. Nato v nastajajočem oknu »Microsoft Visual Basic for Applications« bi morali odpreti modul, ki ni v uporabi.
  4. 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

Koda VBA – zaženite posebno pravilo v vseh poštnih mapah

  1. Po tem morate preveriti nastavitve makra Outlook in zagotoviti, da je makro dovoljen.
  2. 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.Run Completes

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

Skupna raba zdaj:

Komentarji so zaprti.