次の方法で共有


ExtensionPoint 要素

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

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

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

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

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

属性

属性 必須 説明
xsi:type はい 定義される拡張点の種類。 指定できる値は、祖父母の <Host> 要素の値で定義されている 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> 要素に対して 1 つの<CustomTab> 要素のみが存在します。

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

重要

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>
      <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

サポートされている Office アプリケーションで選択したテキストで開くコンテキスト メニューをカスタマイズします。 子コントロールは Button 型である必要があることに注意 してください

<ExtensionPoint xsi:type="ContextMenu">
  <OfficeMenu id="ContextMenuText"> <!-- OR, for Excel only: <OfficeMenu id="ContextMenuCell"> -->
    <Control xsi:type="Button" id="ContextMenuButton">
      <Label resid="TaskpaneButton.Label"/>
      <Supertip>
        <Title resid="TaskpaneButton.Label" />
        <Description resid="TaskpaneButton.Tooltip" />
      </Supertip>
      <Icon>
        <bt:Image size="16" resid="tpicon_16x16" />
        <bt:Image size="32" resid="tpicon_32x32" />
        <bt:Image size="80" resid="tpicon_80x80" />
      </Icon>
      <Action xsi:type="ExecuteFunction">
        <FunctionName>action</FunctionName>
      </Action>
    </Control>
  </OfficeMenu>
</ExtensionPoint>

CustomFunctions

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

子要素

要素 説明
Script 必須です。 カスタム関数の定義と登録コードを含む JavaScript ファイルへのリンク。
Page 必須。 カスタム関数についての HTML ページにリンクします。
MetaData 必須です。 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 つの子要素のみを含めることができます。

この拡張ポイントに含まれる <Control> 要素には、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 および iOS でのみサポートされています。

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

子要素

要素 説明
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 アドイン」を参照してください。

重要

エンティティベースのコンテキスト Outlook アドインは廃止されました。 別のソリューションとして、コンテキスト アドインに正規表現ルールを実装します。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。

VersionOverrides 要素を含むには、VersionOverridesV1_1の xsi:type 属性値が必要です。

注:

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

Label

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

強調表示の要件

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

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

  • 1 つのルールを使用する場合は、 Highlight 属性を all に設定する必要があります。
  • RuleCollectionルールの種類とMode="And"を使用して複数のルールを結合する場合、少なくとも 1 つのルールで Highlight 属性がallに設定されている必要があります。
  • RuleCollectionルールタイプをMode="Or"で使用して複数のルールを結合する場合、すべてのルールで Highlight 属性がallに設定されている必要があります。

DetectedEntity イベントの例

<ExtensionPoint xsi:type="DetectedEntity">
  <Label resid="Context.Label"/>
  <SourceLocation resid="DetectedEntity.URL" />
  <Rule xsi:type="RuleCollection" Mode="And">
    <Rule xsi:type="ItemIs" ItemType="Message"/>
    <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="videoURL" RegExValue="http://www\.youtube\.com/watch\?v=[a-zA-Z0-9_-]{11}" PropertyName="BodyAsPlaintext"/>
  </Rule>
</ExtensionPoint>

ReportPhishingCommandSurface

この拡張機能ポイントは、Outlook リボンでスパムレポート アドインをアクティブ化し、リボンの最後またはオーバーフロー メニューに表示されないようにします。

アドインにスパム レポート機能を実装する方法の詳細については、「 統合スパム レポート アドインを実装する」を参照してください。

子要素

要素 説明
ReportPhishingCustomization 要素 スパム レポート アドインのリボン ボタンと前処理ダイアログを構成します。

<ExtensionPoint xsi:type="ReportPhishingCommandSurface">
  <ReportPhishingCustomization>
    <!-- Configures the ribbon button. -->
    <Control xsi:type="Button" id="ReportingButton">
      <Label resid="ReportingButton.Label"/>
      <Supertip>
        <Title resid="ReportingButton.Label"/>
        <Description resid="ReportingButton.Description"/>
      </Supertip>
      <Icon>
        <bt:Image size="16" resid="Icon.16x16"/>
        <bt:Image size="32" resid="Icon.32x32"/>
        <bt:Image size="64" resid="Icon.64x64"/>
        <bt:Image size="80" resid="Icon.80x80"/>
      </Icon>
      <Action xsi:type="ExecuteFunction">
        <FunctionName>onMessageReport</FunctionName>
      </Action>
    </Control>
    <!-- Configures the preprocessing dialog. -->
    <PreProcessingDialog>
      <Title resid="PreProcessingDialog.Label"/>
      <Description resid="PreProcessingDialog.Description"/>
      <ReportingOptions>
        <Title resid="OptionsTitle.Label"/>
        <Option resid="Option1.Label"/>
        <Option resid="Option2.Label"/>
        <Option resid="Option3.Label"/>
        <Option resid="Option4.Label"/>
      </ReportingOptions>
      <FreeTextLabel resid="FreeText.Label"/>
      <MoreInfo>
        <MoreInfoText resid="MoreInfo.Label"/>
        <MoreInfoUrl resid="MoreInfo.Url"/>
      </MoreInfo>
    </PreProcessingDialog>
    <SourceLocation resid="Commands.Url"/>
  </ReportPhishingCustomization>
</ExtensionPoint>