Как бързо да изпълните конкретно правило във всички пощенски папки с Outlook VBA

Споделете сега:

По подразбиране можете да изпълнявате правило само в една папка наведнъж. В тази статия ще ви научим как да използвате част от VBA код, за да изпълните конкретно правило във всички пощенски папки.

Outlook позволява на потребителите да изпълняват правило ръчно. Можете просто да отворите диалоговия прозорец „Правила и сигнали“ и да натиснете бутона „Изпълни правила сега“. В следващия диалогов прозорец изберете конкретно правило и изберете папка, в която искате да изпълните това правило. Но ако искате бързо да стартирате правило във всички пощенски папки, можете да използвате следния VBA код.

Бързо изпълнение на конкретно правило във всички пощенски папки с Outlook VBA

Бързо изпълнение на конкретно правило във всички пощенски папки

  1. На първо място, start вашата програма Outlook.
  2. След това в главния прозорец на Outlook натиснете бутоните „Alt + F11“.
  3. След това в появяващия се прозорец „Microsoft Visual Basic за приложения“ трябва да отворите неизползван модул.
  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, за да активирате този код.
  • След това макросът ще се стартира незабавно.
  • След като приключи, ще получите съобщение като следната екранна снимка. Отнася се за това, че правилото е приключило.Run Completes

Внимавайте за злонамерени макроси

Както всички знаем, злонамерените имейли стават все по-разпространени. Такива имейли често съдържат злонамерени макроси. По този начин, ако зададете ниско ниво на защита на макроса на Outlook, трябва да се пазите от скритите вируси и зловреден софтуер. Освен това е разумно да се сдобиете с мощен инструмент за корекция на PST, като напр DataNumen Outlook Repair, Той е в състояние да ремонт PST файл и извличане на максимум данни за вас, без да се потите.

Въведение на автора:

Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително възстанови mdf и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com

Споделете сега:

Коментарите са забранени.