如何使用 Outlook VBA 在所有邮件文件夹中快速运行特定规则

立即分享:

默认情况下,您一次只能在一个文件夹中运行规则。 在本文中,我们将教您如何利用一段 VBA 代码在所有邮件文件夹中运行特定规则。

Outlook 允许用户手动运行规则。 您可以访问“规则和警报”对话框并点击“立即运行规则”按钮。 在随后的对话框中,选择特定规则并选择要在其中运行该规则的文件夹。 但是,如果您想在所有邮件文件夹中快速运行规则,您可以使用以下 VBA 代码。

使用 Outlook VBA 在所有邮件文件夹中快速运行特定规则

在所有邮件文件夹中快速运行特定规则

  1. 首先,start 您的 Outlook 程序。
  2. 然后在 Outlook 主窗口中,按“Alt + F11”键按钮。
  3. 接下来在出现的“Microsoft Visual Basic for Applications”窗口中,您应该打开一个未使用的模块。
  4. 随后,将下面的 VBA 代码复制到此模块窗口中。 另外,您应该根据自己的情况更改某些行,例如规则名称。
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 代码 - 在所有邮件文件夹中运行特定规则

  1. 之后,您应该检查您的 Outlook 宏设置,确保允许使用宏。
  2. 最终你可以尝试一下。
  • 只需单击“RunSpecificRule_AllMailFolders”子例程。
  • 然后按 F5 键按钮触发此代码。
  • 接下来宏将立即运行。
  • 完成后,您将收到一条消息,如以下屏幕截图所示。 它指的是规则已经完成。运行完成

当心恶意宏

众所周知,恶意电子邮件已经变得越来越猖獗。 此类电子邮件通常带有恶意宏。 因此,如果您将 Outlook 宏安全级别设置为低,则必须提防隐藏的病毒和恶意软件。 此外,谨慎使用功能强大的 PST 修复工具,例如 DataNumen Outlook Repair。 它能够 修复PST 毫不费力地为您归档和提取最大数据。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 恢复 mdf 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。