2017-06-05 79 views
0

使用Outlook 2010时,我想将“停止处理更多规则”添加到规则中。在需要时停止处理更多规则

我有一个使用Outlook中的常规规则接口定义的规则。这条规则是许多规则之一,除了这个规则之外,所有规则都“停止处理更多的规则”。该规则运行一个脚本。这个没有“停止处理更多的规则”。在脚本运行之前,我不知道是否要停止处理更多规则。我不想在VBA中更改此规则(或任何规则),只需在VBA脚本中决定是否停止处理更多规则。我使用

代码(编辑了一点)

Public Sub checkforvalidfiletype(Item As Outlook.MailItem) 
    Dim olkAtt As Outlook.Attachment 
    Dim orule As Outlook.Rules 
    Dim oRuleAction As Outlook.RuleAction 
    'Check each attachment 
    Stop 
    For Each olkAtt In Item.Attachments 
     'If the attachment's file name ends with .xls .csv or .xlsx 
     If Right(LCase(olkAtt.FileName), 4) = ".xls" Or Right(LCase(olkAtt.FileName), 4) = ".csv" Or Right(LCase(olkAtt.FileName), 5) = ".xlsx" Then 
      'then assign it to the Unknown .xls .xlxs or .csv to be processed category 
      Item.Categories = "Unknown .xls .xlxs or .csv to be processed" 
      Item.Save 
      'and stop processing more rules 
      Set oRuleAction = orule.Actions.Stop 
      With oRuleAction 
       .Enabled = True 
      End With 
      'No need to check any of this message's remaining attachments (just one valid attachment is enough for us to want to know about it) 
      Exit For 
     End If 
    Next 
    Set olkAtt = Nothing 
End Sub 

我得到一个运行时错误“91”对象变量或带块变量未设置错误,在Set oRuleAction = orule.Actions.Stop线。 (我有正确的对象库引用。)

回答

0

你可能现在已经想通了。刚刚从您发布的东西,在oRule对象未设置,你可能需要规则对象,从中将设置规则的对象...

Dim colRules As Outlook.Rules 
Dim oRule As Outlook.Rule 

例证类似的代码为: https://msdn.microsoft.com/en-us/library/office/ff867254(v=office.14).aspx

+0

好的,但是这样做不仅仅是改变现有规则以包含“停止处理更多规则”的行为。如果这样做不是我想要做的,我想在这个特定的场合停止处理更多的规则,将现有规则(以及其他所有规则)保持不变? – larcy

+0

也许我应该更清楚一点,也许我不是很好地解释自己。我有一个在Outlook中使用普通规则接口定义的规则(即不在VBA中)。这条规则是许多规则之一,除了这个规则之外,所有规则都“停止处理更多的规则”。该规则只是运行一个脚本。这一个没有“停止处理更多规则”的原因是因为直到脚本运行,我不知道是否要停止处理更多的规则。我不想在VBA中更改此规则(或任何规则),只需在VBA脚本中决定是否停止处理更多规则。 – larcy

+0

我有一个项目里程碑,我需要在今天结束营业时见面,所以我必须简短 - 道歉 - 但我的建议会回应你的陈述“然后我得到一个运行时错误'91'对象变量或者在块变量未设置错误的情况下,在Set oRuleAction = orule.Actions.Stop行“...没有看到你所有的代码,这通常表明”oRule“没有被设置...并设置一个oRule ,您需要首先设置所有规则的“集合”,然后将oRule设置为您要采取行动的特定规则......希望这有助于您! – JeffB