Outlook オブジェクト モデルでルールを管理するManaging Rules in the Outlook Object Model

rulesオブジェクトモデルでは、プログラムによるルールの追加、編集、および削除をサポートしています。The Rules object model supports the programmatic adding, editing, and deleting of rules. Rule および**rules** コレクションオブジェクトを使用すると、セッションに対して定義されているルールにアクセスしたり、追加したり、削除したりできます。The Rule and Rules collection objects allow you to access, add, and delete rules defined for a session. RuleAction オブジェクトおよび**RuleCondition** オブジェクト、コレクションオブジェクト、および派生アクションと条件オブジェクトは、編集アクションと条件をサポートしています。The RuleAction and RuleCondition objects, their collection objects, and derived action and condition objects further support editing actions and conditions.

メモ rulesオブジェクトモデルは、Outlook ユーザーインターフェイスの仕分けルールと通知ウィザードと部分的に同等の機能を提供します。Note The Rules object model provides partial parity with the Rules and Alerts Wizard in the Outlook user interface. ウィザードを使用して作成できるすべての単一のルールはサポートされていませんが、最もよく使用されるルールの処理と条件をサポートしています。Although it does not support every single rule that you can possibly create using the Wizard, it supports the most commonly used rule actions and conditions. 仕分けルールと通知ウィザードを使用して作成されたルールと同様に、プログラムによって作成されたルールは、メールアイテム、会議出席依頼、仕事の依頼、ドキュメント、配信済みメッセージ、開封確認、投票応答、および不在時の通知。Just like any rule created by using the Rules and Alerts Wizard, rules created programmatically are applied to messages, which include mail items, meeting requests, task requests, documents, delivery receipts, read receipts, voting responses, and out-of-office notices.

GetRules を使用して、現在のセッションで使用されるストアに対して定義されたルールを表すrulesコレクションオブジェクトを取得します。Use Store.GetRules to obtain a Rules collection object representing the rules defined for the store used in the current session.

現在のセッションのルールのセットを取得した後、新しいルールを追加する (ルールを使用して)、既存のルールを編集することができます (ルールを有効または無効にするか、実行順序を変更し、ルールの処理とルールの条件を変更する) か、削除し**ます。** このrulesコレクションからのルール (ルールの削除 を使用)。After obtaining the set of rules for the current session, you can then add new rules (by using Rules.Create), edit existing rules (by enabling or disabling rules, changing their execution order, and modifying rule actions and rule conditions), or delete rules (by using Rules.Remove) from this Rules collection. なお、Microsoft office outlook 2007 より前のバージョンの outlook で作成されたルールは編集できますが、以前のバージョンの outlook を使用して office outlook 2007 以降で作成されたルールを編集することはできません。Note that while you can edit rules created in versions of Outlook before Microsoft Office Outlook 2007, you cannot use earlier versions of Outlook to edit rules that have been created in Office Outlook 2007 or later.

rules コレクション内の各ルールは**** 、 rules. Item (index) を使用してコレクションにインデックスを__ 付けることによって、ルールの名前 (既定のプロパティ**Rule.Name)、または1から合計までの値のいずれかにすることで取得できます。コレクション内のルールの数 (ルール** 数)。You can retrieve each rule in a Rules collection by indexing the collection using Rules.Item(Index), with Index being either the name of the rule (the default property Rule.Name), or a value ranging from 1 through the total number of rules in the collection, Rules.Count.

ルール は、コレクション内のルールの実行順序を示し、 rules (index) 内の_インデックス_の数値に直接マッピングされます。Rule.ExecutionOrder indicates the order of execution of the rules in the collection and is directly mapped with the numerical value of Index in Rules.Items(Index). たとえばRules.Item(1) 、ルールが**** 1 で**** Rules.Item(Rules.Count) Rules.Item(2)あるルールを表します。 このルールには、ルールが2であるルールがあり、ルールがルールであるルールを表します****。For example, Rules.Item(1) represents a rule with Rule.ExecutionOrder being 1, Rules.Item(2) represents a rule with Rule.ExecutionOrder being 2, and Rules.Item(Rules.Count) represents the rule with Rule.ExecutionOrder being Rules.Count.

ルールを定義した後、ルールの**enabled** プロパティをTrueに設定してルールを有効にする必要があり**ます。** その後、ルールとその有効な状態が現在のセッション以降も保持されるように、ルールを保存します。After you have defined a rule, you should also enable it by setting the Rule.Enabled property to True, and then save the rule by using Rules.Save so that the rule and its enabled state will persist beyond the current session. ルールは、正常に保存された後でなければ有効にすることはできません。A rule is only enabled after it has been saved successfully. ルールを保存すると、Exchange server への低速接続でのパフォーマンスの面で高価な操作になる可能性があることに注意してください。必要に応じて、ユーザーが操作を取り消すことができるように、進行状況ダイアログボックスを表示することができます。Note that Rules.Save can be an expensive operation in terms of performance on slow connections to Exchange server; you can optionally display a progress dialog box for the user to cancel the operation. ユーザーが仕分けルールと通知ウィザードで同じルールを編集するか、[進行状況] ダイアログボックスがキャンセルされると、保存は失敗します。A save fails when the user edits the same rule in the Rules and Alerts Wizard, or the user cancels the progress dialog box. このような場合**** 、rules.save はエラーを発生させ、ユーザーは、仕分けルールと通知ウィザードによって表示されるエラーダイアログに応答することによって競合を解決します。In such cases, Rules.Save will raise an error, and the user will resolve the conflict by responding to the error dialog brought up by the Rules and Alerts Wizard.

ルールの保存を使用して、Office outlook 2007 で作成された1つまたは複数のルールを保存すると、以前のバージョンの outlook を使用してそのルールを編集できないことを通知するダイアログボックスが表示されます When you use Rules.Save to save one or more rules that have been created in Office Outlook 2007, you will be prompted with a dialog to remind you that you will not be able to edit that rule using earlier versions of Outlook. 保存操作を続行する前にダイアログを確認する必要があります。You will have to confirm the dialog before the save operation can proceed.

rule を使用してルールを実行します。Use Rule.Execute to run a rule. 現在のセッションの終了後もルールが有効になるようにするには、ルールを有効にして保存する必要がありますが、ルールの実行は有効状態にかかわらず可能です。Note that while you must enable and save a rule to have it enabled beyond the current session, you can run the rule regardless of its enabled state. ルールを実行するときは、ルールの適用先となるフォルダーを必要に応じて指定できます。When you execute a rule, you can optionally specify the folder to apply to rule to. 既定では、受信トレイ内のすべてのメッセージに対してルールを実行します。ただし、受信トレイのサブフォルダーは対象外です。The default is to execute the rule against all messages in the Inbox, but not subfolders of the Inbox.

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.