ExtensionPoint 要素

Office UI でアドインが機能を公開する場所を定義します。 <ExtensionPoint> 要素は、AllFormFactors、DesktopFormFactor、または MobileFormFactor の子要素です。

アドインの種類: 作業ウィンドウ、メール

次の VersionOverrides スキーマでのみ有効です

  • 作業ウィンドウ 1.0
  • メール 1.0
  • メール 1.1

詳細については、「 マニフェストでのバージョンのオーバーライド」を参照してください。

属性

属性 必須 説明
xsi:type はい 定義される拡張点の種類。 指定できる値は、祖父母 <ホスト要素の値で定義されている Office ホスト> アプリケーションによって異なります。

Excel、OneNote、PowerPoint、および Word アドイン コマンドの拡張ポイント

これらのホストの一部または全部で使用できる拡張ポイントには、3 種類あります。

  • PrimaryCommandSurface (Word、Excel、PowerPoint、OneNote で有効) - Office のリボン。
  • ContextMenu (Word、Excel、PowerPoint、OneNote に対して有効) - Office UI で長押し (または右クリック) すると表示されるショートカット メニュー。
  • CustomFunctions (Excel の場合のみ有効) - JavaScript for Excel で記述されたカスタム関数。

これらの種類の拡張ポイントの子要素と例については、次のサブセクションを参照してください。

PrimaryCommandSurface

Word、Excel、PowerPoint、OneNote の主要なコマンド 画面はリボンです。

子要素

要素 説明
CustomTab リボンにカスタム タブを追加する場合は必須 ( PrimaryCommandSurface を使用)。 CustomTab 要素を使用する<場合は、OfficeTab 要素を使用できません。><> id 属性が必要です。 CustomTab> 子要素は複数<存在できません。
OfficeTab 既定の Office アプリ リボン タブを拡張する場合は必須 ( PrimaryCommandSurface を使用)。 OfficeTab 要素を使用する<場合は、CustomTab 要素を使用できません。><>

重要

アドインには、子 <CustomTab> 要素を持つ ExtensionPoint> 要素が 1< つしか存在せず、1 つの <ExtensionPoint> 要素に含めることができる CustomTab> 要素は 1< つだけであるため、すべての <ExtensionPoint> 要素に対して CustomTab> 要素は 1 つだけ<です。

次の例は、PrimaryCommandSurfaceExtensionPoint> 要素を<使用する方法を示しています。 リボンにカスタム タブを追加します。

重要

ID 属性を含む要素では、一意の ID を指定してください。

<ExtensionPoint xsi:type="PrimaryCommandSurface">
  <CustomTab id="Contoso.MyTab1">
    <Label resid="residLabel4" />
    <Group id="Contoso.Group1">
      <Label resid="residLabel4" />
      <Icon>
        <bt:Image size="16" resid="icon1_32x32" />
        <bt:Image size="32" resid="icon1_32x32" />
        <bt:Image size="80" resid="icon1_32x32" />
      </Icon>
      <Tooltip resid="residToolTip" />
      <Control xsi:type="Button" id="Contoso.Button1">
          <!-- information about the control -->
      </Control>
      <!-- other controls, as needed -->
    </Group>
  </CustomTab>
</ExtensionPoint>

Contextmenu

コンテキスト メニューは、Office UI を右クリックしたときに表示されるショートカット メニューです。

子要素

要素 説明
OfficeMenu 既定のコンテキスト メニュー ( ContextMenu を使用) にアドイン コマンドを追加する場合は必須です。 id 属性は、次のいずれかの文字列に設定する必要があります。
- ユーザーが選択したテキストを右クリックしたときにコンテキスト メニューを開く必要がある場合は、ContextMenuText
- ユーザーが Excel スプレッドシートのセルを右クリックしたときにコンテキスト メニューを開く必要がある場合は、ContextMenuCell

次に、Excel スプレッドシートのセルにカスタム コンテキスト メニューを追加します。

<ExtensionPoint xsi:type="ContextMenu">
  <OfficeMenu id="ContextMenuCell">
    <Control xsi:type="Menu" id="Contoso.ContextMenu2">
            <!-- information about the control -->
    </Control>
    <!-- other controls, as needed -->
  </OfficeMenu>
</ExtensionPoint>

CustomFunctions

JavaScript または TypeScript for Excel で記述されたカスタム関数。

子要素

要素 説明
Script 必須です。 カスタム関数の定義と登録コードを含む JavaScript ファイルへのリンク。
Page 必須です。 カスタム関数についての HTML ページにリンクします。
メタデータ 必須です。 Excel でカスタム関数によって使用されるメタデータの設定を定義します。
Namespace オプション。 Excel でカスタム関数によって使用される名前空間を定義します。

<ExtensionPoint xsi:type="CustomFunctions">
  <Script>
    <SourceLocation resid="Functions.Script.Url"/>
  </Script>
  <Page>
    <SourceLocation resid="Shared.Url"/>
  </Page>
  <Metadata>
    <SourceLocation resid="Functions.Metadata.Url"/>
  </Metadata>
  <Namespace resid="Functions.Namespace"/>
</ExtensionPoint>

Outlook のみの拡張点

MessageReadCommandSurface

この拡張点により、メールの閲覧ビューのコマンド サーフェスにボタンが配置されます。 Outlook デスクトップでは、これはリボンに表示されます。

子要素

要素 説明
OfficeTab コマンドを既定のリボン タブに追加します。
CustomTab コマンドをカスタム リボン タブに追加します。

OfficeTab の例

<ExtensionPoint xsi:type="MessageReadCommandSurface">
  <OfficeTab id="TabDefault">
        <-- OfficeTab Definition -->
  </OfficeTab>
</ExtensionPoint>

CustomTab の例

<ExtensionPoint xsi:type="MessageReadCommandSurface">
  <CustomTab id="Contoso.TabCustom2">
        <-- CustomTab Definition -->
  </CustomTab>
</ExtensionPoint>

MessageComposeCommandSurface

この拡張点は、メールの新規作成フォームを使用してアドイン用のリボンにボタンを配置します。

子要素

要素 説明
OfficeTab コマンドを既定のリボン タブに追加します。
CustomTab コマンドをカスタム リボン タブに追加します。

OfficeTab の例

<ExtensionPoint xsi:type="MessageComposeCommandSurface">
  <OfficeTab id="TabDefault">
        <-- OfficeTab Definition -->
  </OfficeTab>
</ExtensionPoint>

CustomTab の例

<ExtensionPoint xsi:type="MessageComposeCommandSurface">
  <CustomTab id="Contoso.TabCustom3">
        <-- CustomTab Definition -->
  </CustomTab>
</ExtensionPoint>

AppointmentOrganizerCommandSurface

この拡張点は、会議の開催者に表示されるフォームのリボンにボタンを配置します。

子要素

要素 説明
OfficeTab コマンドを既定のリボン タブに追加します。
CustomTab コマンドをカスタム リボン タブに追加します。

OfficeTab の例

<ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
  <OfficeTab id="TabDefault">
        <-- OfficeTab Definition -->
  </OfficeTab>
</ExtensionPoint>

CustomTab の例

<ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
  <CustomTab id="Contoso.TabCustom4">
        <-- CustomTab Definition -->
  </CustomTab>
</ExtensionPoint>

AppointmentAttendeeCommandSurface

この拡張点は、会議の出席者に表示されるフォームのリボンにボタンを配置します。

子要素

要素 説明
OfficeTab コマンドを既定のリボン タブに追加します。
CustomTab コマンドをカスタム リボン タブに追加します。

OfficeTab の例

<ExtensionPoint xsi:type="AppointmentAttendeeCommandSurface">
  <OfficeTab id="TabDefault">
        <-- OfficeTab Definition -->
  </OfficeTab>
</ExtensionPoint>

CustomTab の例

<ExtensionPoint xsi:type="AppointmentAttendeeCommandSurface">
  <CustomTab id="Contoso.TabCustom5">
        <-- CustomTab Definition -->
  </CustomTab>
</ExtensionPoint>

Module

この拡張点は、モジュール拡張機能用のリボンにボタンを配置します。

重要

メールボックスアイテムのイベントの登録は、この拡張機能ポイントでは使用できません。

子要素

要素 説明
OfficeTab コマンドを既定のリボン タブに追加します。
CustomTab コマンドをカスタム リボン タブに追加します。

MobileMessageReadCommandSurface

この拡張点により、モバイル フォーム ファクターのメールの閲覧ビューのコマンド領域にボタンが配置されます。

子要素

要素 説明
Group コマンド領域にボタンのグループを追加します。

この型の ExtensionPoint> 要素には、Group 要素という 1 つの子要素のみを含めることができます。<<>

この拡張ポイントに含まれるコントロール>要素には、xsi:type 属性を に設定する必要があります。<MobileButton

<ExtensionPoint xsi:type="MobileMessageReadCommandSurface">
  <Group id="Contoso.mobileGroup1">
    <Label resid="residAppName"/>
      <Control  xsi:type="MobileButton id="Contoso.mobileButton1"">
        <!-- Control definition -->
      </Control>
  </Group>
</ExtensionPoint>

MobileOnlineMeetingCommandSurface

この拡張ポイントは、モバイル フォーム ファクターの予定のモードに適したトグルをコマンド 画面に配置します。 会議の開催者は、オンライン会議を作成できます。 出席者は、その後オンライン会議に参加できます。 このシナリオの詳細については、 オンライン会議プロバイダーの Outlook モバイル アドインの作成に関する記事を 参照してください。

注:

この拡張機能ポイントは、Microsoft 365 サブスクリプションを使用した Android および iOS でのみサポートされています。

メールボックスアイテムのイベントの登録は、この拡張機能ポイントでは使用できません。

子要素

要素 説明
Control コマンド 画面にボタンを追加します。

ExtensionPoint この型の要素には、要素という Control 1 つの子要素のみを含めることができます。

この拡張ポイントに含まれる要素には Control 、 属性を xsi:type に設定する MobileButton必要があります。

画像は Icon 、16 進コード #919191 またはその同等の 色形式を使用してグレースケールにする必要があります。

<ExtensionPoint xsi:type="MobileOnlineMeetingCommandSurface">
  <Control xsi:type="MobileButton" id="Contoso.onlineMeetingFunctionButton1">
    <Label resid="residUILessButton0Name" />
    <Icon>
      <bt:Image resid="UiLessIcon" size="25" scale="1" />
      <bt:Image resid="UiLessIcon" size="25" scale="2" />
      <bt:Image resid="UiLessIcon" size="25" scale="3" />
      <bt:Image resid="UiLessIcon" size="32" scale="1" />
      <bt:Image resid="UiLessIcon" size="32" scale="2" />
      <bt:Image resid="UiLessIcon" size="32" scale="3" />
      <bt:Image resid="UiLessIcon" size="48" scale="1" />
      <bt:Image resid="UiLessIcon" size="48" scale="2" />
      <bt:Image resid="UiLessIcon" size="48" scale="3" />
    </Icon>
    <Action xsi:type="ExecuteFunction">
      <FunctionName>insertContosoMeeting</FunctionName>
    </Action>
  </Control>
</ExtensionPoint>

MobileLogEventAppointmentAttendee

この拡張ポイントは、モバイル フォーム ファクターの予定のコマンド 画面にコンテキストに応じて [ログ アクション] ボタンを配置します。 アドインがインストールされている予定出席者は、1 回のクリックで予定のメモを外部アプリに保存できます。 この拡張ポイントは、作業ウィンドウと関数コマンドの機能をサポートします。 このシナリオの詳細については、「 Outlook モバイル アドインの外部アプリケーションに予定メモをログに記録する 」を参照してください。

注:

この拡張機能ポイントは、Microsoft 365 サブスクリプションを持つ Android でのみサポートされています。

メールボックスアイテムのイベントの登録は、この拡張機能ポイントでは使用できません。

子要素

要素 説明
Control コマンド 画面にボタンを追加します。

ExtensionPoint この型の要素には、要素という Control 1 つの子要素のみを含めることができます。

この拡張ポイントに含まれる要素には Control 、 属性を xsi:type に設定する MobileButton必要があります。

画像は Icon 、16 進コード #919191 またはその同等の 色形式を使用してグレースケールにする必要があります。

<ExtensionPoint xsi:type="MobileLogEventAppointmentAttendee">
  <Control xsi:type="MobileButton" id="appointmentReadFunctionButton">
    <Label resid="LogButtonLabel" />
    <Icon>
      <bt:Image resid="Icon.16x16" size="25" scale="1" />
      <bt:Image resid="Icon.16x16" size="25" scale="2" />
      <bt:Image resid="Icon.16x16" size="25" scale="3" />
      <bt:Image resid="Icon.32x32" size="32" scale="1" />
      <bt:Image resid="Icon.32x32" size="32" scale="2" />
      <bt:Image resid="Icon.32x32" size="32" scale="3" />
      <bt:Image resid="Icon.80x80" size="48" scale="1" />
      <bt:Image resid="Icon.80x80" size="48" scale="2" />
      <bt:Image resid="Icon.80x80" size="48" scale="3" />
    </Icon>
    <Action xsi:type="ExecuteFunction">
      <FunctionName>logToCRM</FunctionName>
    </Action>
  </Control>
</ExtensionPoint>

LaunchEvent

この拡張ポイントを使用すると、デスクトップ フォーム ファクターでサポートされているイベントに基づいてアドインをアクティブ化できます。 このシナリオの詳細と、サポートされているイベントの完全な一覧については、「 イベントベースのアクティブ化のために Outlook アドインを構成する 」の記事を参照してください。

重要

メールボックスアイテムのイベントの登録は、この拡張機能ポイントでは使用できません。

子要素

要素 説明
LaunchEvents イベント ベースのアクティブ化の LaunchEvent の一覧。
SourceLocation ソース JavaScript ファイルの場所。

<ExtensionPoint xsi:type="LaunchEvent">
  <LaunchEvents>
    <LaunchEvent Type="OnNewMessageCompose" FunctionName="onMessageComposeHandler"/>
    <LaunchEvent Type="OnNewAppointmentOrganizer" FunctionName="onAppointmentComposeHandler"/>
  </LaunchEvents>
  <!-- Identifies the runtime to be used (also referenced by the Runtime element). -->
  <SourceLocation resid="WebViewRuntime.Url"/>
</ExtensionPoint>

Events

この拡張点は、指定したイベントのイベント ハンドラーを追加します。 この拡張ポイントの使用方法の詳細については、「 Outlook アドインの送信時機能」を参照してください。

重要

メールボックスアイテムのイベントの登録は、この拡張機能ポイントでは使用できません。

注:

送信時機能の新しいバージョンであるスマート アラートでは、LaunchEvent 拡張機能ポイントを使用して、アドインでイベントのアクティブ化を有効にします。 スマート アラートと送信時機能の主な違いの詳細については、「 スマート アラートと送信時の機能の違い」を参照してください。 チュートリアルを完了して、スマート アラートを試してみることをお勧めします。

要素 説明
Event イベントとイベント ハンドラーの関数を指定します。

ItemSend イベントの例

<ExtensionPoint xsi:type="Events">
  <Event Type="ItemSend" FunctionExecution="synchronous" FunctionName="itemSendHandler" />
</ExtensionPoint>

DetectedEntity

この拡張点は、指定したエンティティの種類に対するコンテキスト アドインのアクティブ化を追加します。 この拡張ポイントの使用方法の詳細については、「 コンテキスト Outlook アドイン」を参照してください。

重要

メールボックスアイテムのイベントの登録は、この拡張機能ポイントでは使用できません。

これを収容している VersionOverrides 要素は、xsi:type 属性の値が VersionOverridesV1_1 になっている必要があります。

注:

この要素の種類は、要件セット 1.6 以降をサポートする Outlook クライアント が利用できます。

要素 説明
Label アドインのコンテキスト ウィンドウのラベルを指定します。
SourceLocation コンテキスト ウィンドウの URL を指定します。
Rule アドインをアクティブ化するタイミングを決定する 1 つ以上のルールを指定します。

Label

必ず指定します。 グループのラベルです。 resid 属性は 32 文字以下であり、Resources 要素の ShortStrings> 要素の<String> 要素の id 属性の<値に設定する必要があります。

強調表示の要件

ユーザーは、強調表示されたエンティティに対話型の操作を実行する方法でのみコンテキスト アドインを有効化できます。 開発者は、Highlight および Rule のルールの種類に対応する ItemHasKnownEntity 要素の ItemHasRegularExpressionMatch 属性を使用して、強調表示にするエンティティを制御します。

ただし、注意する必要のある制限があります。 これらの制限は、ユーザーにアドインをアクティブ化する方法を提供するために、適用可能なメッセージや予定で強調表示されたエンティティが常に存在するようにするために実施されます。

  • EmailAddress および Url のエンティティの種類は、強調表示できません。そのため、アドインをアクティブ化するためには使用できません。
  • 単一のルールを使用する場合、Highlightall に設定されている必要があります。
  • 複数のルールを組み合わせるために Mode="AND"RuleCollection のルールの種類を使用する場合は、少なくとも 1 つのルールの Highlightall に設定されている必要があります。
  • 複数のルールを組み合わせるために Mode="OR"RuleCollection のルールの種類を使用する場合は、すべてのルールの Highlightall に設定されている必要があります。

DetectedEntity イベントの例

<ExtensionPoint xsi:type="DetectedEntity">
  <Label resid="residLabelName"/>
  <!--If you opt to include RequestedHeight, it must be between 140px to 450px, inclusive.-->
  <!--<RequestedHeight>360</RequestedHeight>-->
  <SourceLocation resid="residDetectedEntityURL" />
  <Rule xsi:type="RuleCollection" Mode="And">
    <Rule xsi:type="ItemIs" ItemType="Message" />
    <Rule xsi:type="ItemHasKnownEntity" EntityType="MeetingSuggestion" Highlight="all" />
    <Rule xsi:type="ItemHasKnownEntity" EntityType="Address" Highlight="none" />
  </Rule>
</ExtensionPoint>