Правила, созданные в Outlook в Visual Basic или не работают должным образом - PullRequest
0 голосов
/ 17 сентября 2018

Я написал программу, которая создает правила для фильтрации сообщений и навигации по ним в папке. Я создал папку с именем субъекта «abcd» в папке «Входящие». Затем я создам правило с именем «abcd», которое скажет, что любое электронное письмо, имеющее тему «abcd», должно идти в папку «abcd». Я выполнил всю функцию, но это правило не будет работать каждый раз. Но если я создаю правило вручную, оно работает. что я тут делаю не так

Sub CreateRule(subject)  


Dim colRules As Outlook.rules




Dim oRule As Outlook.rule  
 Dim colRuleActions As Outlook.RuleActions  
 Dim oMoveRuleAction As Outlook.MoveOrCopyRuleAction  
 Dim oFromCondition As Outlook.ToOrFromRuleCondition  
 Dim oExceptSubject As Outlook.TextRuleCondition  
 Dim oInbox As Outlook.Folder  
 Dim oMoveTarget As Outlook.Folder  
 Set oInbox = Application.Session.GetDefaultFolder(olFolderInbox)  
 Set oMoveTarget = oInbox.Folders(subject)  
 Set colRules = Application.Session.DefaultStore.GetRules()  
 Dim check_rule As Boolean  
 check_rule = False  
 Dim rlRules As rule  
 For Each rlRules In colRules  
 If Not rlRules.Actions.MoveToFolder.Folder Is Nothing Then  
        If rlRules.Actions.MoveToFolder.Folder = subject Then  
            check_rule = True  
        End If  
    End If  
Next  
 'Create the rule by adding a Receive Rule to Rules collection  
If check_rule = False Then  
     Set oRule = colRules.Create(subject, olRuleReceive)  
     Set oMoveRuleAction = oRule.Actions.MoveToFolder  
    With oMoveRuleAction  
    .Enabled = True  
    .Folder = oMoveTarget  
    End With  
  Set oConditionSubject = oRule.Conditions.subject  
    With oConditionSubject  
        .Enabled = True  
        .text = Array(subject)  
    End With  
 colRules.Save  
End If   
End Sub  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...