Tietyn säännön nopea suorittaminen kaikissa postikansioissa Outlook VBA: lla

Oletuksena voit suorittaa säännön vain yhdessä kansiossa kerrallaan. Tässä artikkelissa opetetaan, kuinka voit käyttää VBA-koodinpalaa tietyn säännön suorittamiseen kaikissa postikansioissa.

Outlook sallii käyttäjien suorittaa säännön manuaalisesti. Pääset vain "Säännöt ja hälytykset" -valintaikkunaan ja napsauta "Suorita säännöt nyt" -painiketta. Valitse seuraavassa valintaikkunassa tietty sääntö ja valitse kansio, jossa haluat suorittaa tämän säännön. Mutta jos haluat suorittaa säännön nopeasti kaikissa postikansioissa, voit käyttää seuraavaa VBA-koodia.

Suorita tietty sääntö nopeasti kaikissa Outlook VBA: n sähköpostikansioissa

Suorita tietty sääntö nopeasti kaikissa sähköpostikansioissa

  1. Ensinnäkin start Outlook-ohjelmasi.
  2. Paina sitten Outlookin pääikkunassa ”Alt + F11” -näppäimiä.
  3. Seuraavaksi avautuvassa "Microsoft Visual Basic for Applications" -ikkunassa sinun pitäisi avata käyttämätön moduuli.
  4. Kopioi sitten alla oleva VBA-koodi tähän moduuliikkunaan. Lisäksi sinun on vaihdettava joitain rivejä oman tapauksesi perusteella, kuten säännön nimi.
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-koodi - Suorita tietty sääntö kaikissa postikansioissa

  1. Sen jälkeen sinun on tarkistettava Outlook-makroasetuksesi varmistaaksesi, että makro on sallittu.
  2. Lopulta voit kokeilla.
  • Napsauta vain RunSpecificRule_AllMailFolders-alirutiinia.
  • Paina sitten F5-näppäintä käynnistääksesi tämän koodin.
  • Seuraavaksi makro suoritetaan välittömästi.
  • Kun se on valmis, saat viestin, kuten seuraavan kuvakaappauksen. Se viittaa sääntöön, joka on valmis.Suorita valmis

Varo haitallisia makroja

Kuten me kaikki tiedämme, haitalliset sähköpostit ovat lisääntyneet. Tällaiset sähköpostit sisältävät usein haitallisia makroja. Jos siis asetat Outlookin makrotason alhaiselle tasolle, sinun on varottava piilotettuja viruksia ja haittaohjelmia. Lisäksi on järkevää saada käsiinsä tehokas PST-korjaustyökalu, kuten DataNumen Outlook Repair. Se pystyy korjaa PST tiedosto ja poimi enimmäistiedot puolestasi.

Tekijän esittely:

Shirley Zhang on tietojen palauttamisen asiantuntija DataNumen, Inc., joka on maailman johtava tietojen palautustekniikoissa, mukaan lukien palauta mdf ja Outlookin korjausohjelmistotuotteet. Lisätietoja osoitteessa www.datanumen.com

Kommenttien lisääminen on estetty.