Kako brzo pokrenuti određeno pravilo u svim mapama pošte uz Outlook VBA

Podijeli sada:

Prema zadanim postavkama, možete pokrenuti pravilo samo u jednoj mapi odjednom. U ovom članku ćemo vas naučiti kako upotrijebiti dio VBA koda za pokretanje određenog pravila u svim mapama pošte.

Outlook dopušta korisnicima ručno pokretanje pravila. Možete samo pristupiti dijaloškom okviru "Pravila i upozorenja" i pritisnuti gumb "Pokreni pravila sada". U sljedećem dijaloškom okviru odaberite određeno pravilo i odaberite mapu u kojoj želite pokrenuti to pravilo. No, ako želite brzo pokrenuti pravilo u svim mapama pošte, možete koristiti sljedeći VBA kod.

Brzo pokrenite određeno pravilo u svim mapama pošte uz Outlook VBA

Brzo pokrenite određeno pravilo u svim mapama pošte

  1. U prvom redu start vaš program Outlook.
  2. Zatim u glavnom prozoru programa Outlook pritisnite tipke "Alt + F11".
  3. Zatim u prozoru "Microsoft Visual Basic for Applications" koji se pojavljuje trebali biste otvoriti modul koji se ne koristi.
  4. Zatim kopirajte donji VBA kod u ovaj prozor modula. Osim toga, trebali biste promijeniti neke retke na temelju vlastitih malih i malih slova, kao što je naziv 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

VBA kod - Pokrenite određeno pravilo u svim mapama pošte

  1. Nakon toga trebali biste provjeriti postavke makronaredbe programa Outlook i provjeriti je li makronaredba dopuštena.
  2. Na kraju možete pokušati.
  • Samo kliknite na potprogram “RunSpecificRule_AllMailFolders”.
  • Zatim pritisnite tipku F5 za aktiviranje ovog koda.
  • Zatim će se makro odmah pokrenuti.
  • Nakon što završi, dobit ćete poruku, poput sljedeće snimke zaslona. Odnosi se na to da je pravilo završeno.Run Completes

Pazite na zlonamjerne makronaredbe

Kao što svi znamo, zlonamjerna e-pošta postaje sve raširenija. Takve e-poruke često sadrže zlonamjerne makronaredbe. Stoga, ako postavite razinu sigurnosti Outlook makroa na nisku, morate se čuvati skrivenih virusa i zlonamjernog softvera. Štoviše, pametno je nabaviti moćan alat za popravak PST-a, kao što je DataNumen Outlook Repair, U stanju je popraviti PST datoteku i izdvojiti maksimalan broj podataka za vas bez puno znojenja.

Uvod za autora:

Shirley Zhang stručnjakinja je za oporavak podataka u DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući oporaviti mdf i softverske proizvode za popravak Outlooka. Za više informacija posjetite www.datanumen.com

Podijeli sada:

Komentari su zatvoreni.