Rules 对象模型支持以编程方式添加、编辑和删除规则。 Rule 和 Rules 集合对象允许访问、添加和删除为会话定义的规则。 RuleAction 和 RuleCondition 对象、其集合对象以及派生的作和条件对象进一步支持编辑作和条件。
注意
规则对象模型与 Outlook 用户界面中的“规则和警报向导”提供部分奇偶校验。 尽管它不支持可以使用向导创建的每个规则,但它支持最常用的规则作和条件。 与使用 规则和警报 向导创建的任何规则一样,以编程方式创建的规则将应用于邮件,其中包括邮件项、会议请求、任务请求、文档、送达回执、已读回执、投票响应和外出通知。
使用 Store.GetRules 获取 Rules 集合对象,该对象表示为当前会话中使用的存储定义的规则。
获取当前会话的规则集后,可以使用 Rules.Create) 添加新规则 (,通过启用或禁用规则来编辑现有规则 (,更改其执行顺序,以及修改规则作和规则条件) ,或者通过使用 Rules.Remove) 从此 Rules 集合中删除 (规则 。 请注意,虽然可以编辑在 Office Outlook 2007 之前Microsoft版本的 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。