ルールの条件を指定する

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

ルールのルール条件は、 RuleConditions コレクション オブジェクトによって表されます。 RuleConditions オブジェクトには、ルールで通常使用されるルールの各条件に対応するプロパティがあります。 たとえば、ルールで 2 つの条件 (メッセージが重要であり、件名に特定の単語が含まれている) が指定されている場合、ルールの RuleConditions コレクション オブジェクトの Importance プロパティと Subject プロパティは、有効になっている各ルール条件オブジェクトを返します (RuleCondition.EnabledTrue)。

ルールで指定されていない条件は、対応する RuleCondition オブジェクトでは有効になりません (RuleCondition.EnabledFalse)。 ルール条件オブジェクトは、RuleCondition オブジェクトまたは RuleCondition オブジェクトから派生したカスタマイズ されたオブジェクトによって 表されます。 最後の例では、 RuleConditions.Importance プロパティは ImportanceRuleCondition オブジェクトを返し、 RuleConditions.Subject プロパティは TextRuleCondition オブジェクトを返します。どちらも RuleCondition オブジェクトから派生しています。 RuleCondition オブジェクトとその派生オブジェクトには、ルール条件の種類を示す ConditionType プロパティがあります。たとえば、ImportanceRuleCondition.ConditionTypeolConditionImportance の値を示し、TextRuleCondition.ConditionTypeolConditionSubject を示します。

Rules オブジェクト モデルで提供される機能は、仕分けルールと通知ウィザードとは部分的にしか同等でないことに注意してください。 つまり、ウィザードを使用する場合は、ウィザードに表示される処理と条件を任意に指定してルールを作成できますが、プログラムによってルールを作成する場合は、それらの処理および条件の一部を使用できるだけで、すべてを指定できるわけではありません。 ウィザードによって作成したルールではサポートされても、Rules オブジェクト モデルによって作成したルールではサポートされない条件の一例として、特定のレベルの秘密度のメッセージがあります。 ウィザードを使用して、条件として秘密度を指定するルールを作成します。

Rules オブジェクト モデルを使用すると、 Rules コレクション内のこの種のルールを列挙できます。 Rules コレクション内の各ルールについて、 RuleConditions コレクションを列挙し、秘密度の有効なルール条件を探します。 コードでは、これは Rules コレクション内の各ルールについて、Index を 1 からRuleConditions.Count に列挙し、RuleCondition.ConditionTypeolConditionSensitivity と等しい有効な条件を探します。 このようなルールの条件を有効化または無効化することもできます。 ただし、 olConditionSensitivity 条件を指定するルールをプログラムで作成することはできません。

次の表に、ルールとアラート ウィザードでサポートされているすべてのルール条件と、Rules オブジェクト モデルを使用してルールを作成するときに各ルール条件がサポートされているかどうかを示します。 Rules オブジェクト モデルによって作成されたルールでサポートされていないルール条件は、プログラムによる列挙と、ルールとアラート ウィザードによって作成された既存のルールでの有効化または無効化に対してのみサポートされます。 この表では、ルールの種類が olRuleReceiveolRuleSend、またはその両方であるルールに対して、各ルールの処理が適用されるかどうかも示しています。

メモolConditionOtherMachine 型のルール条件を有効または無効にすることはできません。 この種類のルールの条件は、ルールが特定のコンピューターでのみ実行でき、現在のコンピューターでは実行できないことを示します。 これは、ルールがあるコンピューターで作成され、そのルールはそのコンピューターでのみ実行できることを示すルールの条件 olConditionLocalMachineOnly が有効であるときに生じます。 場合によっては、 olConditionAccount などの別のルールの条件を有効にした結果、 olConditionLocalMachine が自動的に設定されます。 別のコンピューターで同じルールを実行すると、条件 olConditionOtherMachine が有効になっていることを示すメッセージが表示されます。

Condition olRuleConditionType 内の定数 プログラムによる新しいルールの作成のサポート olRuleReceive ルールへの適用 olRuleSend ルールへの適用
Account は AccountRuleCondition.Account で指定されたアカウントです。 olConditionAccount はい はい はい
メッセージがどの分類項目に割り当てられていてもかまわないこと。 olConditionAnyCategory はい はい はい
本文に、 TextRuleCondition.Text で指定される単語が含まれている場合です。 olConditionBody はい はい はい
本文または件名に指定した単語が含まれています TextRuleCondition.Text olConditionBodyOrSubject はい はい はい
メッセージには、 CategoryRuleCondition.Categories で指定されたカテゴリまたはカテゴリが割り当てられます。 olConditionCategory はい はい はい
メッセージの [CC] ボックスに自分の名前があること。 olConditionCc はい はい
メッセージが x ~ y (x および y は整数値) の間に受信されたこと。 olConditionDateRange いいえ はい はい
メッセージに指定した処理のフラグが付けられていること。 olConditionFlaggedForAction いいえ はい はい
メッセージで、 FormNameRuleCondition.FormName で指定されるフォームが使用されている場合です。 olConditionFormName はい はい はい
送信者が、 ToOrFromRuleCondition.Recipients で指定されるアドレス帳に含まれている場合です。 olConditionFrom はい はい いいえ
メッセージが任意の RSS 購読から生成されていること。 olConditionFromAnyRssFeed はい はい いいえ
メッセージが、指定された RSS 購読から生成されていること。 olConditionFromRssFeed はい はい いいえ
メッセージに添付ファイルがあること。 olConditionHasAttachment はい はい はい
メッセージが特定のレベルの重要度に設定されていること。 olConditionImportance はい はい はい
ルールは、このマシンでのみ実行できます。 olConditionLocalMachineOnly はい はい はい
メッセージが会議出席依頼または更新のメッセージである場合です。 olConditionMeetingInviteOrUpdate はい はい はい
メッセージのヘッダーには、 TextRuleCondition.Text で指定した単語が含まれています。 olConditionMessageHeader はい はい いいえ
メッセージの [ 宛先] ボックスに自分の名前が含まれていない場合です。 olConditionNotTo はい はい いいえ
メッセージが自分だけに送信されている場合です。 olConditionOnlyToMe はい はい いいえ
メッセージが外出中の応答メッセージである場合です。 olConditionOOF いいえ はい いいえ
ルールは、現在のマシンではない特定のマシンでのみ実行できます。 olConditionOtherMachine いいえ はい はい
ドキュメントのプロパティが指定されたプロパティと一致するか、指定されたプロパティを含む、または含まない場合です。 olConditionProperty いいえ はい はい
受信者のアドレスには、 TextRuleCondition.Text で指定した単語が含まれています。 olConditionRecipientAddress はい はい はい
センダーのアドレスには、 TextRuleCondition.Text で指定した単語が含まれています。 olConditionSenderAddress はい はい いいえ
送信者が、 AddressRuleCondition.Address で指定されるアドレス一覧に含まれている場合です。 olConditionSenderInAddressBook はい はい いいえ
メッセージに特定の秘密度が指定されている場合です。 olConditionSensitivity いいえ はい はい
転送先 ([宛先]、[Cc]) が、ToOrFromRuleCondition.Recipients で指定されるアドレス帳に含まれている場合です。 olConditionSentTo はい はい はい
メッセージ サイズは KB 単位で x から y の間で、x と y は Date 値です。 たとえば、"10;50" は、サイズ条件を 10 ~ 50 KB に設定します。 olConditionSizeRange いいえ はい はい
件名には、 TextRuleCondition.Text で指定した単語が含まれています。 olConditionSubject はい はい はい
自分の名前が [ 宛先] ボックスに含まれている場合です。 olConditionTo はい はい いいえ
メッセージの [ 宛先] または [ Cc] ボックスに自分の名前が含まれている場合です。 olConditionToOrCc はい はい いいえ
認識されないルールの条件。 olConditionUnknown いいえ はい いいえ

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。