Egy adott szabály gyors futtatása az összes levélmappában az Outlook VBA segítségével

Oszd meg most:

Alapértelmezés szerint egyszerre csak egy mappában futtathat szabályt. Ebben a cikkben megtanítjuk, hogyan lehet egy VBA-kódot felhasználni egy adott szabály futtatására az összes levélmappában.

Az Outlook lehetővé teszi a felhasználók számára a szabály manuális futtatását. Csak elérheti a „Szabályok és figyelmeztetések” párbeszédpanelt, és megnyomhatja a „Szabályok futtatása most” gombot. A következő párbeszédpanelen válasszon ki egy adott szabályt, és válassza ki azt a mappát, amelyben futtatni kívánja ezt a szabályt. Ha azonban gyorsan szeretne szabályt futtatni az összes levélmappában, használhatja a következő VBA-kódot.

Gyorsan futtasson egy adott szabályt az összes levélmappában az Outlook VBA segítségével

Gyorsan futtasson egy adott szabályt az összes levélmappában

  1. Elsősorban start az Outlook programban.
  2. Ezután az Outlook főablakában nyomja meg az „Alt + F11” billentyűket.
  3. Ezután a megjelenő „Microsoft Visual Basic for Applications” ablakban meg kell nyitnia egy használaton kívüli modult.
  4. Ezt követően másolja be az alábbi VBA-kódot ebbe a modulablakba. Ezenkívül módosítania kell néhány sort a saját esete alapján, például a szabály nevét.
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-kód – Futtasson egy adott szabályt az összes levélmappában

  1. Ezt követően ellenőrizze az Outlook makró beállításait, és győződjön meg arról, hogy a makró engedélyezett.
  2. Végül megpróbálhatod.
  • Csak kattintson a „RunSpecificRule_AllMailFolders” szubrutinra.
  • Ezután nyomja meg az F5 billentyűt a kód aktiválásához.
  • Ezután a makró azonnal lefut.
  • Miután befejeződött, egy üzenetet kap, mint a következő képernyőkép. Ez arra utal, hogy a szabály véget ért.Futtatás befejeződik

Vigyázzon a rosszindulatú makrókra

Mint mindannyian tudjuk, a rosszindulatú e-mailek egyre inkább elterjedtek. Az ilyen e-mailek gyakran tartalmaznak rosszindulatú makrókat. Így, ha alacsonyra állítja az Outlook makró biztonsági szintjét, óvakodnia kell a rejtett vírusoktól és rosszindulatú programoktól. Sőt, érdemes egy erős PST-javító eszközt beszerezni, mint pl DataNumen Outlook Repair. Képes javítás PST fájlokat és a maximális adatmennyiséget kivonja Önnek anélkül, hogy izzadna.

Szerző Bevezetés:

Shirley Zhang adat-helyreállítási szakértő DataNumen, Inc., amely világelső az adat-helyreállítási technológiák területén, beleértve mdf helyreállítása és outlook javítószoftver termékek. További információért látogasson el www.datanumen.com

Oszd meg most:

Hozzászólások lezárva.