Я пытаюсь создать макрос для запуска правила в папке отправленных элементов. Но продолжайте сталкиваться со звездочками "Переменная объекта или С переменной блока не установлено". Я новичок в этом, поэтому любая помощь приветствуется.

Вот еще одна неудачная попытка

Закрытая подпрограмма Application_Startup() runRulesOnSentMailFolder End Sub

Sub runRulesOnSentMailFolder() Dim st As Outlook.Храните Dim myRules как Outlook.Правила Dim RL As Outlook.Dim count как As Integer Dim ruleList As String Dim rulePrefix As String Dim ruleFolder As Long

'
Dim outlookApp As Outlook.Application
Dim objNS As NameSpace


ruleFolder = olFolderSentMail
rulePrefix = "SENT_Mail_"

Set objNS = Application.GetNamespace("MAPI")
Set objSentmailfolder = objNS.GetDefaultFolder(ruleFolder)

' get default store (where rules live)
Set st = Application.Session.DefaultStore
' get rules
Set myRules = st.GetRules

'итерировать все правила для каждого rl в myRules' определить, соответствует ли это правило входящих сообщений и префикс имени правила соответствует If rl.RuleType = olRuleReceive And Left(рл.Имя, Лен (rulePrefix)) = rulePrefix Тогда

        ' if so, run it
        rl.Execute ShowProgress:=True, Folder:=objSentmailfolder
        count = count + 1
        ruleList = ruleList & vbCrLf & rl.Name
    End If
****Next****

' tell the user what you did
ruleList = "These rules were executed against the folder: " & objSentmailfolder.Name & vbCrLf & ruleList
MsgBox ruleList, vbInformation, "Macro: runRulesOnSentMailFolder"

Set rl = Nothing
Set st = Nothing
Set myRules = Nothing
Set objSentmailfolder = Nothing
Set objNS = Nothing

End Sub

0