Rules 对象模型支持以编程方式添加、编辑和删除规则。 Rule 和 Rules 集合对象允许访问、添加和删除为会话定义的规则。 RuleAction 和 RuleCondition 对象、其集合对象以及派生的操作和条件对象进一步支持编辑操作和条件。
注意
规则对象模型与 Outlook 用户界面中的“规则和警报向导”提供部分奇偶校验。 尽管它不支持可以使用向导创建的每个规则,但它支持最常用的规则操作和条件。 与使用 规则和警报 向导创建的任何规则一样,以编程方式创建的规则将应用于邮件,其中包括邮件项、会议请求、任务请求、文档、送达回执、已读回执、投票响应和外出通知。
使用 Store.GetRules 获取一个 Rules 集合对象,该对象表示为当前会话中使用的存储定义的规则。
获取当前会话的规则集后,可以使用 Rules.Create) 添加新规则 (,通过启用或禁用规则来编辑现有规则 (,更改其执行顺序,以及修改规则操作和规则条件) ,或者通过使用 Rules.Remove) 从此 Rules 集合中删除规则 (规则。 请注意,虽然可以编辑在 Microsoft Office Outlook 2007 之前的 Outlook 版本中创建的规则,但不能使用早期版本的 Outlook 编辑已在 Office Outlook 2007 或更高版本中创建的规则。
可以通过使用 Rules.Item (Index) 为集合编制索引来检索 Rules 集合中的每个规则,Index 是规则名称 (默认属性 Rule.Name) ,或者值范围从 1 到集合中的规则总数 Rules.Count。
Rule.ExecutionOrder 指示集合中规则的执行顺序,并使用 Rules.Items 中的 Index (Index) 中的数值直接映射。 例如, Rules.Item(1)
表示 Rule.ExecutionOrder 为 1 的规则, Rules.Item(2)
表示 Rule.ExecutionOrder 为 2 的规则,并 Rules.Item(Rules.Count)
表示 Rule.ExecutionOrder 为 Rules.Count 的规则。
定义规则后,还应通过将 Rule.Enabled 属性设置为 True 来启用该规则,然后使用 Rules.Save 保存规则,以便规则及其启用状态将保留到当前会话之外。 规则只有在成功保存之后才能启用。 请注意,如果与 Exchange 服务器的连接速度较慢,则 Rules.Save 操作可能会严重影响性能;可以选择显示一个进度对话框,以便于用户取消操作。 如果用户在“规则和通知向导”中编辑同一规则,或者用户取消进度对话框,则保存将失败。 在这样的情况下,Rules.Save 将产生错误,用户将通过响应由“规则和通知向导”弹出的错误对话框来解决冲突。
使用 Rules.Save 保存已在 Office Outlook 2007 中创建的一个或多个规则时,系统会提示你对话框提醒你无法使用早期版本的 Outlook 编辑该规则。 必须先确认对话框,然后保存操作才能继续。
使用 Rule.Execute 运行规则。 请注意,尽管您必须启用并保存规则才能在当前会话结束后继续启用它,但是您可以运行规则而不管其启用状态如何。 在执行规则时,可以选择指定对其应用规则的文件夹。 默认情况下,对收件箱中的所有邮件执行规则,但不对收件箱的子文件夹执行规则。
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。