Como executar rapidamente uma regra específica em todas as pastas de email com o Outlook VBA

Compartilhe agora:

Por padrão, você só pode executar uma regra em uma pasta por vez. Neste artigo, ensinaremos como utilizar um trecho de código VBA para executar uma regra específica em todas as pastas de e-mail.

O Outlook permite que os usuários executem a regra manualmente. Você pode simplesmente acessar a caixa de diálogo “Regras e alertas” e clicar no botão “Executar regras agora”. Na caixa de diálogo subsequente, selecione uma regra específica e escolha uma pasta na qual deseja executar essa regra. Mas, se quiser executar uma regra rapidamente em todas as pastas de correio, você pode usar o seguinte código VBA.

Execute rapidamente uma regra específica em todas as pastas de correio com o Outlook VBA

Execute rapidamente uma regra específica em todas as pastas de correio

  1. Em primeiro lugar, start seu programa Outlook.
  2. Em seguida, na janela principal do Outlook, pressione os botões de tecla “Alt + F11”.
  3. Em seguida, na janela emergente “Microsoft Visual Basic for Applications”, você deve abrir um módulo não em uso.
  4. Posteriormente, copie o código VBA abaixo para esta janela do módulo. Além disso, você deve alterar algumas linhas com base no seu próprio caso, como o nome da regra.
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

Código VBA - Execute uma regra específica em todas as pastas de email

  1. Depois disso, você deve verificar as configurações de macro do Outlook, garantindo que a macro seja permitida.
  2. Eventualmente, você pode tentar.
  • Basta clicar na sub-rotina “RunSpecificRule_AllMailFolders”.
  • Em seguida, pressione o botão da tecla F5 para acionar este código.
  • Em seguida, a macro será executada imediatamente.
  • Após a conclusão, você receberá uma mensagem, como a captura de tela a seguir. Refere-se à regra terminou.Executar conclui

Cuidado com Macros Maliciosas

Como todos sabemos, os e-mails maliciosos têm se tornado cada vez mais comuns. Esses e-mails geralmente carregam macros maliciosas. Portanto, se você definir o nível de segurança de macro do Outlook como baixo, deverá tomar cuidado com os vírus e malware ocultos. Além disso, é prudente obter uma poderosa ferramenta de correção de PST, como DataNumen Outlook Repair. É capaz de reparar PST arquive e extraia o máximo de dados para você sem suar a camisa.

Introdução do autor:

Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperar mdf e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.