Як швидко запустити конкретне правило у всіх папках пошти за допомогою Outlook VBA

Поділитися зараз:

За замовчуванням ви можете запускати правило лише в одній папці за раз. У цій статті ми навчимо вас використовувати фрагмент коду VBA для запуску певного правила у всіх поштових папках.

Outlook дозволяє користувачам запускати правило вручну. Ви можете просто отримати доступ до діалогового вікна «Правила та попередження» та натиснути кнопку «Запустити правила зараз». У наступному діалоговому вікні виберіть конкретне правило та виберіть папку, в якій ви хочете запустити це правило. Але, якщо ви хочете швидко запустити правило у всіх поштових папках, ви можете використовувати наступний код VBA.

Швидко запустіть певне правило у всіх папках пошти за допомогою Outlook VBA

Швидко запустіть конкретне правило у всіх папках пошти

  1. В першу чергу, сtart свою програму 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 файл і витягніть максимум даних для вас, не потіючи.

Вступ автора:

Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі відновити mdf - - та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com

Поділитися зараз:

Коментарі закриті.