Rules 物件模型可支援最常用的規則動作和條件。 每個 規則 物件都有一個 Actions 屬性,代表該規則的規則動作,以及一個 Conditions 屬性和一個 Exceptions 屬性,代表該規則的條件。 本主題將說明 Rules 物件模型如何支援規則條件。
規則的規則條件由 RuleConditions 集合物件表示。 RuleConditions 物件含有一些對應至規則中每個常用規則條件的屬性。 例如,如果一條規則指定兩個條件——訊息是重要的,主體包含特定詞彙——那麼該規則的 RuleConditions 集合物件中的 Importance 和 Subject 屬性會回傳 RuleCondition (啟用的規則條件物件。Enabled 即真) 。
規則中未指定的條件不會在對應的 RuleCondition 物件中啟用 (RuleCondition.Enabled 是 假) 。 規則條件物件可由 RuleCondition 物件或由 RuleCondition 物件衍生的自訂物件表示。 在最後一個例子中, RuleConditions.Importance 屬性會回傳 ImportanceRuleCondition 物件,而 RuleConditions.Subject 屬性會回傳一個 TextRuleCondition 物件,兩者皆源自 RuleCondition 物件。 RuleCondition 物件及其衍生物件具有 ConditionType 屬性,可表示規則條件的類型,例如 ImportanceRuleCondition.ConditionType 會表示值 olConditionImportance,TextRuleCondition.ConditionType 則表示 olConditionSubject。
請注意,Rules 物件模型與 [規則及通知] 精靈之間維持部分對等性。 這表示您可以使用這個精靈來建立規則,並在規則中指定您在精靈中看見的任何動作及條件,但是也可以用程式設計方式建立規則,並在規則中使用部分 (而非全部) 動作及條件。 規則物件模型支援精靈建立規則但不支援物件模型建立規則的條件範例是具有特定敏感度的訊息。 使用精靈建立一條規則,指定敏感度作為條件。
利用 Rules 物件模型,你可以在 Rules 集合中列舉這類規則——對每個規則集合,列舉其 RuleConditions 集合,並尋找啟用的敏感性規則條件。 在程式碼中,這表示對於規則集合中的每條規則,都用從 1 到 RuleConditions.Count 的索引列舉 RuleConditions.Item (Index) ,並尋找 RuleCondition.ConditionType 等於 olConditionSensitivity 的啟用條件。 你也可以在規則中啟用或停用這類規則條件。 然而,你無法在程式中建立規則來指定 olConditionSensitivity 條件。
下表列出規則與警示嚮導所支援的所有規則條件,以及在使用規則物件模型建立規則時,是否支援每個規則條件。 規則物件模型所建立規則中不支援的規則條件,僅支援程式列舉及在規則與警示向導中啟用或停用現有規則。 此外,本表也會顯示規則條件是否會套用至含有 olRuleReceive 規則類型、olRuleSend 規則類型或這兩種類型的規則。
便條 你無法啟用或停用 olConditionOtherMachine 這種類型的規則條件。 此類型的規則條件指出規則只能在特定電腦上執行,而目前電腦並不屬於此類電腦。 當規則是在某一電腦上建立,並且已啟用規則條件 olConditionLocalMachineOnly (表示規則只能在該部電腦上執行) 時,便會發生此情形。 在某些情況下,當啟用另一項規則 (如 olConditionAccount) 時,將會自動設定 olConditionLocalMachine。 當您在另一部電腦上執行相同規則時,此規則會顯示條件 olConditionOtherMachine 已啟用。
| Condition | olRuleConditionType 中的常數 | 以程式設計方式建立新規則時是否支援? | 是否會套用至 olRuleReceive 規則? | 是否會套用至 olRuleSend 規則? |
|---|---|---|---|---|
| 帳戶是 AccountRuleCondition.Account 中指定的帳戶。 | olConditionAccount | 是 | 是 | 是 |
| 郵件已指派任何類別。 | olConditionAnyCategory | 是 | 是 | 是 |
| 主體包含 TextRuleCondition.Text 指定的特定詞彙。 | olConditionBody | 是 | 是 | 是 |
| 本文或主旨含有 TextRuleCondition.Text. 所指定的文字。 | olConditionBodyOrSubject | 是 | 是 | 是 |
| 訊息會被指派在 CategoryRuleCondition.Categories 中指定的類別。 | olConditionCategory | 是 | 是 | 是 |
| 郵件的 [副本] 方塊中有我的姓名。 | olConditionCc | 是 | 是 | |
| 郵件是在 x 與 y 之間接收,其中 x 與 y 為整數值。 | olConditionDate Range | 否 | 是 | 是 |
| 郵件已設置指定動作的標幟。 | olConditionFlaggedForAction | 否 | 是 | 是 |
| 訊息使用 FormNameRuleCondition.FormName中指定的表單。 | olConditionFormName | 是 | 是 | 是 |
| 寄件人在 ToOrFromRuleCondition.Recipients 指定的收件人列表中。 | olConditionFrom | 是 | 是 | 否 |
| 郵件從任一個 RSS 摘要產生 | olConditionFromAnyRssFeed | 是 | 是 | 否 |
| 郵件從指定的 RSS 摘要產生 | olConditionFromRssFeed | 是 | 是 | 否 |
| 郵件具有附件。 | olConditionHasAttachment | 是 | 是 | 是 |
| 郵件已標示指定的重要性層級。 | olCondition重要性 | 是 | 是 | 是 |
| 規則只能在此機器上執行。 | olConditionLocalMachineOnly | 是 | 是 | 是 |
| 郵件是會議邀請或更新。 | olConditionMeetingInviteOrUpdate | 是 | 是 | 是 |
| 郵件標題含有 TextRuleCondition.Text 中指定的文字。 | olConditionMessageHeader | 是 | 是 | 否 |
| 訊息裡沒有我的名字出現在 收件人 欄裡。 | olConditionNotTo | 是 | 是 | 否 |
| 郵件僅寄送給我。 | 只有我有的 olConditionOnlyMe | 是 | 是 | 否 |
| 郵件是郵件答錄機 (OOF) 郵件。 | 喔 | 否 | 是 | 否 |
| 規則只能在特定機器而非目前機器上執行。 | olConditionOtherMachine | 否 | 是 | 是 |
| 文件屬性確實含有 (或不含) 指定的屬性。 | olConditionProperty | 否 | 是 | 是 |
| 收件者地址含有 TextRuleCondition.Text 中指定的文字。 | olCondition收件人地址 | 是 | 是 | 是 |
| 寄件者地址含有 TextRuleCondition.Text 中指定的文字。 | olConditionSenderAddress | 是 | 是 | 否 |
| 寄件人位於 AddressRuleCondition.Address 指定地址清單中。 | olConditionSenderInAddressBook | 是 | 是 | 否 |
| 郵件已標示指定的敏感度。 | olConditionSensitivity | 否 | 是 | 是 |
| 寄給收件人 (收件人,CC) 在 ToOrFromRuleCondition.Recipients 指定的收件人列表中。 | olConditionSentTo | 是 | 是 | 是 |
| 郵件大小介於 x 與 y 之間 (以 KB 為單位),其中 x 與 y 為 Date 值。 例如,「10;50吋設定大小條件介於10到50KB之間。 | olConditionSizeRange | 否 | 是 | 是 |
| 主旨含有 TextRuleCondition.Text 中指定的文字。 | 老狀況主題 | 是 | 是 | 是 |
| 我的姓名列於 [收件者] 方塊中。 | olConditionTo | 是 | 是 | 否 |
| 郵件的 [收件者] 或 [副本] 方塊中有我的姓名。 | olConditionToOrCc | 是 | 是 | 否 |
| 無法辨識的規則條件。 | 老狀況不明 | 否 | 是 | 否 |
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。