Jak szybko uruchomić określoną regułę we wszystkich folderach poczty za pomocą programu Outlook VBA

Podziel się teraz:

Domyślnie możesz uruchomić regułę tylko w jednym folderze naraz. W tym artykule nauczymy Cię, jak wykorzystać fragment kodu VBA do uruchomienia określonej reguły we wszystkich folderach poczty.

Outlook zezwala użytkownikom na ręczne uruchamianie reguł. Możesz po prostu wejść do okna dialogowego „Reguły i alerty” i nacisnąć przycisk „Uruchom reguły teraz”. W kolejnym oknie dialogowym wybierz określoną regułę i folder, w którym chcesz uruchomić tę regułę. Jeśli jednak chcesz szybko uruchomić regułę we wszystkich folderach poczty, możesz użyć następującego kodu VBA.

Szybko uruchom określoną regułę we wszystkich folderach poczty za pomocą programu Outlook VBA

Szybko uruchom określoną regułę we wszystkich folderach poczty

  1. W pierwszej kolejności starprogram Outlook.
  2. Następnie w głównym oknie Outlooka naciśnij klawisze „Alt + F11”.
  3. Następnie w pojawiającym się oknie „Microsoft Visual Basic for Applications” należy otworzyć nieużywany moduł.
  4. Następnie skopiuj poniższy kod VBA do tego okna modułu. Ponadto należy zmienić niektóre wiersze na podstawie własnego przypadku, na przykład nazwy reguły.
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

Kod VBA - uruchom określoną regułę we wszystkich folderach poczty

  1. Następnie sprawdź ustawienia makr programu Outlook, upewniając się, że makra są dozwolone.
  2. W końcu możesz spróbować.
  • Wystarczy kliknąć podprocedurę „RunSpecificRule_AllMailFolders”.
  • Następnie naciśnij klawisz F5, aby uruchomić ten kod.
  • Następnie makro zostanie uruchomione natychmiast.
  • Po zakończeniu otrzymasz wiadomość, jak na poniższym zrzucie ekranu. Odnosi się do zakończenia reguły.Uruchom kończy się

Uważaj na złośliwe makra

Jak wszyscy wiemy, złośliwe wiadomości e-mail stają się coraz bardziej powszechne. Takie e-maile często zawierają złośliwe makra. Dlatego jeśli ustawisz poziom bezpieczeństwa makr programu Outlook na niski, musisz uważać na ukryte wirusy i złośliwe oprogramowanie. Co więcej, rozsądnie jest zdobyć potężne narzędzie do naprawy plików PST, takie jak DataNumen Outlook Repair. Jest w stanie naprawa PST plik i wyodrębnij maksimum danych bez wysiłku.

Wprowadzenie autora:

Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym odzyskać mdf i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com

Podziel się teraz:

Możliwość dodawania komentarzy nie jest dostępna.