Outlook コンテキスト アドインのアクティブ化ルール
Outlook では、ユーザーが読み取りや作成をしようとしているメッセージまたは予定が、アドインのアクティブ化のルールに準ずる場合に、ある種類のアドインをアクティブにします。 これは、1.1 マニフェストのスキーマを使用するすべてのアドインについて同様です。 ユーザーは、Outlook UI からアドインを選び、現在のアイテムに、そのアドインを起動することができます。
重要
エンティティベースのコンテキスト Outlook アドインは、2024 年第 2 四半期に廃止される予定です。 この機能を廃止する作業は 5 月に開始され、6 月末まで継続されます。 6 月以降、コンテキスト アドインはメール アイテム内のエンティティを検出してタスクを実行できなくなります。 次の API も廃止されます。
- Office.context.mailbox.item.getEntities()
- Office.context.mailbox.item.getEntitiesByType(entityType)
- Office.context.mailbox.item.getFilteredEntitiesByName(name)
- Office.context.mailbox.item.getSelectedEntities()
中断の可能性を最小限に抑えるために、エンティティ ベースのコンテキスト アドインが廃止された後も、次の機能がサポートされます。
- オンライン会議アドインによってアクティブ化される [会議に参加 ] ボタンの代替実装が開発されています。 エンティティベースのコンテキスト アドインのサポートが終了すると、オンライン会議アドインは自動的に別の実装に移行して [ 会議に参加 ] ボタンをアクティブ化します。
- エンティティ ベースのコンテキスト アドインが廃止された後も、正規表現ルールは引き続きサポートされます。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 正規表現アクティブ化ルールを使用して Outlook アドインを表示する」を参照してください。
詳細については、「 エンティティ ベースのコンテキスト Outlook アドインの廃止」を参照してください。
マニフェストでのアクティブ化ルールの指定
注:
ライセンス認証規則に依存する Outlook アドイン機能は、アドインで Microsoft 365 用の統合マニフェスト (プレビュー) を使用する場合はサポートされません。
特定の条件に対してアドインをアクティブ化するには、次のいずれかの要素を使用して、アドイン マニフェストでアクティブ化ルールを指定します Rule
。
- Rule 要素 (MailApp complexType) - 個別のルールを指定します。
- Rule 要素 (RuleCollection complexType) - 論理演算子を使用して複数のルールを結合します。
注:
個々のルールを指定するために使用する要素は 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 | 通常、受信トレイで受信する次の項目のいずれかを指定します。
|
属性は 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
できます。 ルールの属性では、次の既知のエンティティをEntityType
ItemHasKnownEntity
指定できます。
- 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 ルールの場合:
|
関連項目
Office Add-ins
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示