OutlookVBAを使用してすべてのメールフォルダで特定のルールをすばやく実行する方法

今すぐ共有:

デフォルトでは、一度にXNUMXつのフォルダーでのみルールを実行できます。 この記事では、VBAコードの一部を利用して、すべてのメールフォルダーで特定のルールを実行する方法を説明します。

Outlookでは、ユーザーはルールを手動で実行できます。 「ルールとアラート」ダイアログボックスにアクセスして、「今すぐルールを実行」ボタンを押すだけです。 続くダイアログボックスで、特定のルールを選択し、このルールを実行するフォルダーを選択します。 ただし、すべてのメールフォルダーでルールをすばやく実行する場合は、次のVBAコードを使用できます。

OutlookVBAを使用してすべてのメールフォルダで特定のルールをすばやく実行する

すべてのメールフォルダで特定のルールをすばやく実行する

  1. そもそも、starOutlookプログラム。
  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を回復する と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。