Kako brzo pokrenuti određeno pravilo u svim imenicima pošte sa Outlook VBA

Podijeli sada:

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

Outlook dozvoljava korisnicima da ručno pokreću pravilo. Možete samo pristupiti dijaloškom okviru „Pravila i upozorenja“ i pritisnuti dugme „Pokreni pravila sada“. U sljedećem dijaloškom okviru odaberite određeno pravilo i odaberite mapu u kojoj želite da pokrenete ovo pravilo. Ali, ako želite brzo da pokrenete pravilo u svim folderima pošte, možete koristiti sljedeći VBA kod.

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

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

  1. Na prvom mjestu, start vaš Outlook program.
  2. Zatim u glavnom prozoru programa Outlook pritisnite tipke “Alt + F11”.
  3. Zatim u novom prozoru „Microsoft Visual Basic za aplikacije“, trebalo bi da otvorite modul koji se ne koristi.
  4. Nakon toga, kopirajte VBA kod ispod u ovaj prozor modula. Osim toga, trebali biste promijeniti neke redove na osnovu vašeg sopstvenog slučaja, 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 imenicima pošte

  1. Nakon toga, trebali biste provjeriti postavke makroa u Outlooku, osiguravajući da je makro dozvoljen.
  2. Na kraju možete probati.
  • Samo kliknite na potprogram “RunSpecificRule_AllMailFolders”.
  • Zatim pritisnite dugme F5 da aktivirate ovaj kod.
  • Zatim će se makro odmah pokrenuti.
  • Nakon što se završi, dobit ćete poruku, poput sljedećeg snimka ekrana. Odnosi se na pravilo je završeno.Run Completes

Pazite na zlonamjerne makroe

Kao što svi znamo, zlonamjerni e-mailovi su sve više rasprostranjeni. Takve poruke e-pošte često sadrže zlonamjerne makroe. Stoga, ako postavite razinu sigurnosti Outlook makroa na nisku, morate se čuvati skrivenih virusa i zlonamjernog softvera. Štaviše, pametno je nabaviti moćan alat za popravku PST-a, kao što je DataNumen Outlook Repair. To je u stanju popraviti PST datoteku i ekstrahirajte maksimalan broj podataka za vas, a da se ne oznojite.

Uvod za autora:

Shirley Zhang je stručnjak za oporavak podataka DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući oporaviti mdf i Outlook softverski proizvodi za popravku. Za više informacija posjetite www.datanumen.com

Podijeli sada:

Komentari su zatvoreni.