指定規則動作
Rules 物件模型可支援最常用的規則動作和條件。 每個 Rule 物件都有代表該規則之規則動作的 Actions 屬性,以及代表該規則條件的 Conditions 屬性和 Exceptions 屬性。 本主題將說明 Rules 物件模型如何支援規則動作。
規則的規則動作是由 RuleActions 集合物件表示。 RuleActions 物件含有一些對應至規則中每個常用規則動作的屬性。 例如,如果規則指定兩個動作 - 將訊息移至特定資料夾並播放音效 - 則規則之RuleActions集合物件的MoveToFolder和PlaySound屬性會傳回 (RuleAction.Enabled為True) 啟用的個別規則動作物件。
未在規則中指定的動作將不會在對應的 RuleAction 物件中啟用 (RuleAction.Enabled 為 False)。 這些規則動作物件是由 \ RuleAction 物件或衍生自 RuleAction 物件的自訂物件所表示。 具體而言,在最後一個範例中, RuleActions.MoveToFolder 屬性會傳回 MoveOrCopyRuleAction 物件, 而 RuleActions.PlaySound 屬性會傳回 PlaySoundRuleAction 物件,兩者都是衍生自 RuleAction 物件。 RuleAction 物件及其衍生物件會具有表示規則動作類型的 ActionType 屬性。 例如, MoveOrCopyRuleAction.ActionType 會指出 olRuleActionMoveToFolder值, 而 PlaySoundRuleAction.ActionType 則表示 olRuleActionPlay。
注意事項
Rules 物件模型與規則和警示精靈維持部分同位。 這表示您可以使用這個精靈來建立規則,並在規則中指定您在精靈中看見的任何動作及條件,但是也可以用程式設計方式建立規則,並在規則中使用部分 (而非全部) 動作及條件。 Rules 物件模型針對這個精靈建立的規則但不針對物件模型建立的規則來支援的動作範例之一,就是要求伺服器回覆。 使用精靈建立規則,將特定伺服器回復指定為動作。
使用 Rules 物件模型,您可以列舉 Rules 集合中的這些規則類型 - 針對 Rules 集合中的每個規則,列舉其 RuleActions 集合,並尋找伺服器回復的已啟用規則動作。 在程式碼中,這表示 Rules 集合 中的每個規則、列舉 RuleActions.Item (Index) 使用 Index 從 1 到 RuleActions.Count,並尋找 ActionType 等於 olRuleActionServerReply 的已啟用動作。 此外,您也可以啟用或停用規則中的這類規則動作。 不過,您無法以程式設計方式建立指定 olRuleActionServerReply 動作的 規則。
下表列出規則和警示精靈支援的所有規則動作,以及使用 Rules 物件模型建立規則時是否支援每個規則動作。 Rules 物件模型所建立的規則中不支援的規則動作僅支援以程式設計方式列舉,以及在規則和警示精靈所建立的現有規則中啟用或停用。 此外,本表也會顯示規則動作是否會套用至 olRuleReceive 規則類型、olRuleSend 規則類型或這兩種類型的規則。
動作 | olRuleActionType 中的常數 | 以程式設計方式建立新規則時是否支援? | 是否會套用至 olRuleReceive 規則? | 是否會套用至 olRuleSend 規則? |
---|---|---|---|---|
將訊息指派給 AssignToCategoryRuleAction.Categories 屬性中指定的類別 | olRuleActionAssignToCategory | 是 | 是 | 是 |
將郵件副本至 SendRuleAction.Recipients 屬性中指定的收件者清單 | olRuleActionCcMessage | 是 | 否 | 是 |
清除郵件的所有類別 | olRuleActionClearCategories | 是 | 是 | 是 |
將訊息複製到 MoveOrCopyRuleAction.Folder 屬性中指定的資料夾 | olRuleActionCopyToFolder | 是 | 是 | 是 |
執行自訂動作 | olRuleActionCustomAction | 否 | 是 | 是 |
延期指定的分鐘數傳送 | olRuleActionDefer | 否 | 否 | 是 |
刪除郵件 | olRuleActionDelete | 是 | 是 | 否 |
永久刪除郵件 | olRuleActionDeletePermanently | 是 | 是 | 否 |
顯示桌面通知 | olRuleActionDesktopAlert | 是 | 是 | 否 |
清除郵件標幟 | olRuleActionFlagClear | 否 | 是 | 否 |
使用指定的色彩標幟郵件 | olRuleActionFlagColor | 否 | 是 | 否 |
針對指定天數內的動作標幟郵件 | olRuleActionFlagForActionInDays | 否 | 是 | 是 |
將郵件轉寄給 SendRuleAction.Recipients 屬性中指定的收件者清單 | olRuleActionForward | 是 | 是 | 否 |
將郵件當做附件轉寄給 SendRuleAction.Recipients 屬性中指定的收件者清單 | olRuleActionForwardAsAttachment | 是 | 是 | 否 |
使用指定的重要性標示郵件 | olRuleActionImportance | 否 | 是 | 是 |
使用MarkAsTaskRuleAction物件的FlagTo和MarkInterval屬性,將訊息標示為後續追蹤工作 | olRuleActionMarkAsTask | 是 | 是 | 否 |
標示為唯讀 | olRuleActionMarkRead | 否 | 是 | 否 |
將訊息移至 oveOrCopyRuleAction.Folder 屬性中指定的資料夾 | olRuleActionMoveToFolder | 是 | 是 | 否 |
顯示 NewItemAlertRuleAction.Text 屬性中指定的訊息 | olRuleActionNewItemAlert | 是 | 是 | 否 |
在郵件已經送達時發出通知 | olRuleActionNotifyDelivery | 是 | 否 | 是 |
在郵件已經被讀取時發出通知 | olRuleActionNotifyRead | 是 | 否 | 是 |
播放 PlaySoundRuleAction.FilePath 屬性中指定的 .wav 檔案 | olRuleActionPlaysound | 是 | 是 | 否 |
在預設的印表機列印郵件 | olRuleActionPrint | 否 | 是 | 否 |
將郵件重新導向至 SendRuleAction.Recipients 屬性中指定的收件者清單 | olRuleActionRedirect | 是 | 是 | 否 |
啟動指令碼 | olRuleActionRunScript | 否 | 是 | 否 |
使用指定的敏感度標示郵件 | olRuleActionSensitivity | 否 | 否 | 是 |
使用指定的郵件讓伺服器回覆 | olRuleActionServerReply | 否 | 是 | 否 |
啟動 .exe | olRuleActionStartApplication | 否 | 是 | 否 |
停止處理其他規則 | olRuleActionStop | 是 | 是 | 是 |
使用指定的範本 (.oft) 檔回覆 | olRuleActionTemplate | 否 | 是 | 否 |
無法辨識的規則動作 | olRuleActionUnknown | 否 | 是 | 否 |
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。