Comment exécuter rapidement une règle spécifique dans tous les dossiers de messagerie avec Outlook VBA

Partage maintenant:

Par défaut, vous ne pouvez exécuter une règle que dans un dossier à la fois. Dans cet article, nous allons vous apprendre à utiliser un morceau de code VBA pour exécuter une règle spécifique dans tous les dossiers de messagerie.

Outlook permet aux utilisateurs d'exécuter la règle manuellement. Vous pouvez simplement accéder à la boîte de dialogue "Règles et alertes" et cliquer sur le bouton "Exécuter les règles maintenant". Dans la boîte de dialogue suivante, sélectionnez une règle spécifique et choisissez un dossier dans lequel vous souhaitez exécuter cette règle. Mais, si vous souhaitez exécuter rapidement une règle dans tous les dossiers de messagerie, vous pouvez utiliser le code VBA suivant.

Exécutez rapidement une règle spécifique dans tous les dossiers de messagerie avec Outlook VBA

Exécutez rapidement une règle spécifique dans tous les dossiers de messagerie

  1. En premier lieu, start votre programme Outlook.
  2. Ensuite, dans la fenêtre principale d'Outlook, appuyez sur les touches "Alt + F11".
  3. Ensuite, dans la fenêtre émergente "Microsoft Visual Basic pour Applications", vous devez ouvrir un module non utilisé.
  4. Ensuite, copiez le code VBA ci-dessous dans cette fenêtre de module. De plus, vous devez modifier certaines lignes en fonction de votre propre cas, comme le nom de la règle.
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

Code VBA - Exécuter une règle spécifique dans tous les dossiers de messagerie

  1. Après cela, vous devez vérifier vos paramètres de macro Outlook, en vous assurant que la macro est autorisée.
  2. Finalement, vous pouvez essayer.
  • Cliquez simplement sur la sous-routine "RunSpecificRule_AllMailFolders".
  • Appuyez ensuite sur la touche F5 pour déclencher ce code.
  • Ensuite, la macro s'exécutera immédiatement.
  • Une fois terminé, vous recevrez un message, comme la capture d'écran suivante. Il se réfère à la règle est terminée.L'exécution se termine

Attention aux macros malveillantes

Comme nous le savons tous, les e-mails malveillants sont de plus en plus répandus. Ces e-mails contiennent souvent des macros malveillantes. Ainsi, si vous définissez le niveau de sécurité de votre macro Outlook sur faible, vous devez vous méfier des virus et logiciels malveillants cachés. De plus, il est prudent de se procurer un puissant outil de correction PST, tel que DataNumen Outlook Repair. Il est capable de réparer la TVP fichier et extraire un maximum de données pour vous sans transpirer.

Introduction de l'auteur:

Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris récupérer mdf et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.