Så här kör du snabbt en specifik regel i alla e-postmappar med Outlook VBA

Som standard kan du bara köra en regel i en mapp i taget. I den här artikeln lär vi dig hur du använder en bit VBA-kod för att köra en specifik regel i alla e-postmappar.

Outlook tillåter användare att köra regel manuellt. Du kan bara öppna dialogrutan "Regler och varningar" och klicka på knappen "Kör regler nu". I den efterföljande dialogrutan väljer du en specifik regel och väljer en mapp där du vill köra denna regel. Men om du snabbt vill köra en regel i alla e-postmappar kan du använda följande VBA-kod.

Kör snabbt en specifik regel i alla e-postmappar med Outlook VBA

Kör snabbt en specifik regel i alla e-postmappar

  1. För det första, start ditt Outlook-program.
  2. Tryck sedan på “Alt + F11” -knapparna i huvudfönstret i Outlook.
  3. Nästa i det nya fönstret "Microsoft Visual Basic for Applications" bör du öppna en modul som inte används.
  4. Kopiera därefter VBA-koden nedan till det här modulfönstret. Dessutom bör du ändra några rader baserat på ditt eget fall, till exempel regelnamnet.
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 - Kör en specifik regel i alla e-postmappar

  1. Därefter bör du kontrollera dina makroinställningar i Outlook och se till att makro är tillåtet.
  2. Så småningom kan du prova.
  • Klicka bara på underrutinen "RunSpecificRule_AllMailFolders".
  • Tryck sedan på F5-tangenten för att utlösa den här koden.
  • Därefter körs makrot direkt.
  • När det är klart får du ett meddelande, som följande skärmdump. Det hänvisar till regeln har slutförts.Kör slutfört

Se upp för skadliga makron

Som vi alla vet har skadliga e-postmeddelanden blivit allt större. Sådana e-postmeddelanden innehåller ofta skadliga makron. Således, om du ställer in din Outlook-makrosäkerhetsnivå till låg, måste du akta dig för dolda virus och skadlig kod. Dessutom är det klokt att få tag på ett kraftfullt PST-fixverktyg, till exempel DataNumen Outlook Repair. Det kan reparera PST arkivera och extrahera maximala data åt dig utan att svettas.

Författarintroduktion:

Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive återställa mdf och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

Kommentarer är stängda.