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