Outlook コンテキスト アドインのアクティブ化ルール

Outlook では、ユーザーが読み取りや作成をしようとしているメッセージまたは予定が、アドインのアクティブ化のルールに準ずる場合に、ある種類のアドインをアクティブにします。 これは、1.1 マニフェストのスキーマを使用するすべてのアドインについて同様です。 ユーザーは、Outlook UI からアドインを選び、現在のアイテムに、そのアドインを起動することができます。

重要

エンティティベースのコンテキスト Outlook アドインは、2024 年第 2 四半期に廃止される予定です。 この機能を廃止する作業は 5 月に開始され、6 月末まで継続されます。 6 月以降、コンテキスト アドインはメール アイテム内のエンティティを検出してタスクを実行できなくなります。 次の API も廃止されます。

中断の可能性を最小限に抑えるために、エンティティ ベースのコンテキスト アドインが廃止された後も、次の機能がサポートされます。

  • オンライン会議アドインによってアクティブ化される [会議に参加 ] ボタンの代替実装が開発されています。 エンティティベースのコンテキスト アドインのサポートが終了すると、オンライン会議アドインは自動的に別の実装に移行して [ 会議に参加 ] ボタンをアクティブ化します。
  • エンティティ ベースのコンテキスト アドインが廃止された後も、正規表現ルールは引き続きサポートされます。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 正規表現アクティブ化ルールを使用して Outlook アドインを表示する」を参照してください。

詳細については、「 エンティティ ベースのコンテキスト Outlook アドインの廃止」を参照してください。

マニフェストでのアクティブ化ルールの指定

注:

ライセンス認証規則に依存する Outlook アドイン機能は、アドインで Microsoft 365 用の統合マニフェスト (プレビュー) を使用する場合はサポートされません。

特定の条件に対してアドインをアクティブ化するには、次のいずれかの要素を使用して、アドイン マニフェストでアクティブ化ルールを指定します Rule

注:

個々のルールを指定するために使用する要素は Rule 、抽象 Rule 複合型の要素です。 次の各種類の規則は、この抽象 Rule 複合型を拡張します。 したがって、マニフェストで個別のルールを指定するときは、xsi:type 属性を使用してルールの以下の型の 1 つをさらに定義する必要があります。

たとえば、次の規則は ItemIs ルールを定義します。 <Rule xsi:type="ItemIs" ItemType="Message" />

属性は FormType マニフェスト v1.1 のアクティブ化ルールに適用されますが、v1.0 では VersionOverrides 定義されていません。 そのため、 ItemIs が ノードで VersionOverrides 使用されている場合は使用できません。

次の表は、使用できるルールの種類を示しています。 詳細については、この表の後の説明と、「閲覧フォーム用の Outlook アドインを作成する」の該当記事を参照してください。

ルール名 該当するフォーム 説明
ItemIs 読み取り、作成 現在選択されているアイテムは指定された種類のアイテム (メッセージまたは予定) かどうかを調べます。 また、アイテム クラス、フォームの種類、さらにはオプションでアイテム メッセージ クラスも調べることができます。
ItemHasAttachment 読み取り 選択されているアイテムに添付ファイルが含まれるかどうかを調べます。
ItemHasKnownEntity 読み取り 選択されているアイテムに 1 つ以上の一般的なエンティティが含まれるかどうかを調べます。 詳細: 「Outlook アイテム内の文字列を既知のエンティティとして照合する」。
ItemHasRegularExpressionMatch 読み取り 選択されているアイテムの送信者のメール アドレス、件名、本文に正規表現と一致するものが含まれるかどうかを調べます。詳細: 正規表現アクティブ化ルールを使用して Outlook アドインを表示する
RuleCollection 読み取り、作成 複数のルールを組み合わせて、より複雑なルールを作成できます。

ItemIs ルール

複合型は ItemIs 、現在の項目が項目の種類と一致する場合は に true 評価される規則を定義し、必要に応じて、ルールに指定されている場合はアイテム メッセージ クラスを定義します。

ルールの属性に ItemType 次のいずれかの項目の種類を ItemIs 指定します。 マニフェストでは、複数の ItemIs ルールを指定できます。 ItemType simpleType では、Outlook アドインをサポートしている Outlook アイテムの種類を定義します。

説明
Appointment Outlook の予定表内のアイテムを指定します。 このアイテムには、開催者と出席者を持つ応答済みの会議アイテムと、開催者と出席者を持たない、単なる予定表上のアイテムである予定が含まれます。 これは Outlook の IPM.Appointment メッセージ クラスに対応します。
Message 通常、受信トレイで受信する次の項目のいずれかを指定します。
  • 電子メール メッセージ。 これは Outlook の IPM.Note メッセージ クラスに対応します。

  • 会議出席依頼、返信、または取り消し。 これは、Outlook の次のメッセージ クラスに対応します。

    IPM.Schedule.Meeting.Request

    IPM.Schedule.Meeting.Neg

    IPM.Schedule.Meeting.Pos

    IPM.Schedule.Meeting.Tent

    IPM.Schedule.Meeting.Canceled

属性は FormType 、アドインをアクティブにするモード (読み取りまたは作成) を指定するために使用されます。

注:

ItemIs FormType 属性はスキーマ v1.1 以降で定義されていますが、v1.0 では VersionOverrides 定義されていません。 アドイン コマンドを定義するときは、 FormType 属性を含めないでください。

アドインがアクティブ化された後は、 mailbox.item プロパティを使用して Outlook で現在選択されているアイテムを取得し、 item.itemType プロパティを使用して現在のアイテムの種類を取得できます。

必要に応じて、 属性を ItemClass 使用してアイテムのメッセージ クラスを指定し、 属性を IncludeSubClasses 使用して、アイテムが指定されたクラスのサブクラスである場合にルールをするかどうかを true 指定できます。

メッセージ クラスの詳細については、「Item Types and Message Classes」をご覧ください。

次の例は、 ItemIs ユーザーがメッセージを読んでいるときに、Outlook アドイン バーにアドインを表示できるようにするルールです。

<Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" />

次の例は、 ItemIs ユーザーがメッセージまたは予定を読んでいるときに、ユーザーが Outlook アドイン バーにアドインを表示できるようにするルールです。

<Rule xsi:type="RuleCollection" Mode="Or">
  <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" />
  <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Read" />
</Rule>

ItemHasAttachment ルール

複合型は ItemHasAttachment 、選択した項目に添付ファイルが含まれているかどうかを確認するルールを定義します。

<Rule xsi:type="ItemHasAttachment" />

ItemHasKnownEntity ルール

アドインでアイテムを使用できるようになる前に、サーバーはそれを調べて、サブジェクトと本文に既知のエンティティの 1 つである可能性があるテキストが含まれているかどうかを判断します。 これらのエンティティのいずれかが見つかった場合、そのエンティティは、そのアイテムの or getEntitiesByType メソッドを使用getEntitiesしてアクセスする既知のエンティティのコレクションに配置されます。

指定した型のエンティティがアイテムに存在する場合にアドインを表示する ルールを指定 ItemHasKnownEntity できます。 ルールの属性では、次の既知のエンティティをEntityTypeItemHasKnownEntity指定できます。

  • Address
  • Contact
  • EmailAddress
  • MeetingSuggestion
  • PhoneNumber
  • TaskSuggestion
  • URL

必要に応じて、 属性に正規表現を RegularExpression 含めて、現在の正規表現に一致するエンティティの場合にのみアドインを表示できます。 ルールで ItemHasKnownEntity 指定された正規表現に一致する一致を取得するには、現在選択されている Outlook アイテムの getRegExMatches または getFilteredEntitiesByName メソッドを使用できます。

次の例は、指定された既知の Rule エンティティのいずれかがメッセージに存在する場合にアドインを表示する要素のコレクションを示しています。

<Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemHasKnownEntity" EntityType="Address" />
    <Rule xsi:type="ItemHasKnownEntity" EntityType="MeetingSuggestion" />
    <Rule xsi:type="ItemHasKnownEntity" EntityType="TaskSuggestion" />
</Rule>

次の例は、 ItemHasKnownEntity メッセージに "contoso" という単語を含む URL が存在する場合にアドインをアクティブにする属性を持つ RegularExpression ルールを示しています。

<Rule xsi:type="ItemHasKnownEntity" EntityType="Url" RegularExpression="contoso" />

アクティブ化ルールのエンティティの詳細については、「Outlook アイテム内の文字列を既知のエンティティとして照合する」を参照してください。

ItemHasRegularExpressionMatch ルール

複合型は ItemHasRegularExpressionMatch 、正規表現を使用して項目の指定されたプロパティの内容と一致するルールを定義します。 正規表現に一致するテキストがアイテムの指定プロパティ内に見つかった場合に、Outlook はアドイン バーをアクティブ化してそのアドインを表示します。 現在選択されている項目を getRegExMatches 表す オブジェクトの または getRegExMatchesByName メソッドを使用して、指定した正規表現の一致を取得できます。

次の例は、選択した項目の本文に "apple"、"バナナ"、または "ココナッツ" が含まれている場合にアドインをアクティブ化する を示 ItemHasRegularExpressionMatch しています。大文字と小文字は無視されます。

<Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="fruits" RegExValue="apple|banana|coconut" PropertyName="BodyAsPlaintext" IgnoreCase="true" />

ルールの使用方法の詳細については、「正規表現アクティブ化ルールをItemHasRegularExpressionMatch使用して Outlook アドインを表示する」を参照してください。

RuleCollection ルール

複合型は RuleCollection 、複数のルールを 1 つのルールに結合します。 属性を使用して Mode 、コレクション内のルールを論理 OR または論理 AND と組み合わせる必要があるかどうかを指定できます。

論理 AND を指定する場合、アドインは、コレクション内で指定されているすべてのルールにアイテムが一致する場合にのみ表示されます。 論理 OR を指定すると、コレクション内の指定した規則のいずれかに一致する項目にアドインが表示されます。

ルールを組み合わせて RuleCollection 複雑なルールを形成できます。 次に示す例では、件名や本文に住所が含まれるメッセージまたは予定表のアイテムをユーザーが表示したときに、アドインがアクティブ化されます。

<Rule xsi:type="RuleCollection" Mode="And">
  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" />
    <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Read"/>
  </Rule>
  <Rule xsi:type="ItemHasKnownEntity" EntityType="Address" />
</Rule>

次の例では、ユーザーがメッセージを新規作成するときか、件名か本文に住所が含まれる予定を表示するときに、アドインがアクティブ化されます。

<Rule xsi:type="RuleCollection" Mode="Or"> 
  <Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit" /> 
  <Rule xsi:type="RuleCollection" Mode="And">
    <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Read" />
    <Rule xsi:type="ItemHasKnownEntity" EntityType="Address" />
  </Rule> 
</Rule>

ルールと正規表現の制約事項

Outlook アドインで満足のいくエクスペリエンスを提供するには、アクティブ化と API の使用に関するガイドラインに従う必要があります。 次の表は、正規表現と規則の一般的な制限を示していますが、アプリケーションごとに特定の規則があります。 詳細については、「 ライセンス認証の制限」と「Outlook アドインの JavaScript API」および「Outlook アドインアクティブ化のトラブルシューティング」を参照してください。

アドインの要素 ガイドライン
マニフェストのサイズ 256 KB 未満。
ルール 15 ルール未満。
ItemHasKnownEntity Outlook on Windows と Mac では、本文の最初の 1 MB に対してルールが適用され、本文の残りの部分には適用されません。
正規表現 すべての Outlook アプリケーションの ItemHasKnownEntity または ItemHasRegularExpressionMatch ルールの場合:
  • Outlook アドインのアクティブ化ルールには、5 つ以下の正規表現を指定します。 この制限を超えた場合は、アドインをインストールできません。
  • 予期される結果が getRegExMatches メソッド呼び出しによって返されて、それらが最初の 50 件以内に収まるように、正規表現を指定します。
  • 重要: テキストは、正規表現に一致した結果の文字列に基づいて強調表示されます。 ただし、強調表示された出現箇所は、否定的な先(?!text)読み、後ろ見、および負のルックビハ(?<=text)(?<!text)インドなどの実際の正規表現アサーションの結果と完全に一致しない場合があります。 たとえば、"Like under、under score、およびアンダースコア" で正規表現 under(?!score) を使用すると、最初の 2 つだけではなく、すべての出現箇所に対して "under" という文字列が強調表示されます。
  • 一致が次の表の制限を超えない正規表現を指定します。

    正規表現の長さ制限Windows と Mac の OutlookiOS および Android 用の Outlook
    アイテムの本文がテキスト形式の場合1.5 KB3 KB
    アイテムの本文が HTML の場合3 KB3 KB

関連項目