ルールの処理を指定する

Rules オブジェクト モデルでは、最もよく使用されるルールの処理と条件がサポートされています。 各 Rule オブジェクトには、そのルールのルール アクションを表す Actions プロパティと、そのルールの条件を表す Conditions プロパティと Exceptions プロパティがあります。 このトピックでは、Rules オブジェクト モデルにおけるルールの処理のサポートについて説明します。

ルールのルール アクションは、 RuleActions コレクション オブジェクトによって表されます。 RuleActions オブジェクトには、ルールで一般的に使用される各ルール アクションに対応するプロパティがあります。 たとえば、ルールで 2 つのアクション (メッセージを特定のフォルダーに移動してサウンドを再生する) を指定した場合、ルールの RuleActions コレクション オブジェクトの MoveToFolder プロパティと PlaySound プロパティは、有効になっている各ルール アクション オブジェクトを返します (RuleAction.EnabledTrue)。

ルールで指定されていないアクションは、対応する RuleAction オブジェクトでは有効になりません (RuleAction.EnabledFalse)。 これらのルール アクション オブジェクトは、\ RuleAction オブジェクトまたは RuleAction オブジェクトから派生したカスタマイズ されたオブジェクトによって 表されます。 最後の例では、具体的には、 RuleActions.MoveToFolder プロパティは MoveOrCopyRuleAction オブジェクトを返し、 RuleActions.PlaySound プロパティは PlaySoundRuleAction オブジェクトを返します。どちらも RuleAction オブジェクトから派生しています。 RuleAction オブジェクトとその派生オブジェクトには、ルール アクションの種類を示す ActionType プロパティがあります。 たとえば、 MoveOrCopyRuleAction.ActionTypeolRuleActionMoveToFolder の値を示し、 PlaySoundRuleAction.ActionTypeolRuleActionPlay を示します

注:

Rules オブジェクト モデルでは、ルールとアラート ウィザードとの部分的なパリティが維持されます。 つまり、ウィザードを使用する場合は、ウィザードに表示される処理と条件を任意に指定してルールを作成できますが、プログラムによってルールを作成する場合は、それらの処理および条件の一部を使用できるだけで、すべてを指定できるわけではありません。 ルール オブジェクト モデルがウィザードによって作成されたルールに対してサポートするが、オブジェクト モデルによって作成されたルールに対してはサポートされていないアクションの例は、サーバーの応答を要求することです。 ウィザードを使用して、特定のサーバー応答をアクションとして指定するルールを作成します。

Rules オブジェクト モデルを使用すると、 Rules コレクション内のこれらの種類のルールを列挙できます。 Rules コレクション内の各ルールについて、 RuleActions コレクションを列挙し、サーバー応答の有効なルール アクションを探します。 コードでは、Rules コレクション内の各ルールについて、Index を 1 からRuleActions.Count に列挙し、ActionTypeolRuleActionServerReply と等しい有効なアクションを探します。 ルールでこのようなルール アクションを有効または無効にすることもできます。 ただし、 olRuleActionServerReply アクションを指定するルールをプログラムで作成することはできません。

次の表は、自動仕分けウィザードでサポートされているすべてのルールの処理と、Rules オブジェクト モデルによるルールの作成時に各ルールの処理がサポートされるかどうかを示す一覧です。 Rules オブジェクト モデルによって作成したルールではサポートされないルールの処理の場合、プログラムから実行できるのは、自動仕分けウィザードで作成した既存のルールの列挙と、それらのルールを有効または無効にする操作だけです。 この表では、ルールの種類が olRuleReceiveolRuleSend、またはその両方であるルールに対して、各ルールの処理が適用されるかどうかも示しています。

操作 olRuleActionType 定数 プログラムによる新しいルールの作成のサポート olRuleReceive ルールへの適用 olRuleSend ルールへの適用
AssignToCategoryRuleAction.Categories プロパティで指定されたカテゴリにメッセージを割り当てる olRuleActionAssignToCategory あり はい はい
SendRuleAction.Recipients プロパティで指定した受信者リストにメッセージを CC します 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 のサポートおよびフィードバックを参照してください。