Макрос Outlook SentMailFolder

Макрос Outlook SentMailFolder

Я пытаюсь создать макрос для запуска правила в папке отправленных элементов. Но постоянно получаю звездочки "Object variable or With block variable not set". Я новичок в этом деле, поэтому любая помощь будет оценена по достоинству.

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

Private Sub Application_Startup() runRulesOnSentMailFolder End Sub

Sub runRulesOnSentMailFolder() Dim st As Outlook.Store Dim myRules As Outlook.Rules Dim rl As Outlook.Rule 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

' перебрать все правила For Each rl In myRules ' определить, является ли это правилом для папки «Входящие» и совпадает ли префикс имени правила If rl.RuleType = olRuleReceive And Left(rl.Name, Len(rulePrefix)) = rulePrefix Then

        ' 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

Конец субтитра

Связанный контент