Élément ExtensionPoint

Définit l’emplacement où se trouvent les fonctionnalités d’un complément dans l’interface utilisateur Office. L’élément <ExtensionPoint> est un élément enfant de AllFormFactors, DesktopFormFactor ou MobileFormFactor.

Type de complément : Document, Courrier, Présentation, Volet Office, Classeur

Valide uniquement dans ces schémas VersionOverrides :

  • Volet De tâches 1.0
  • Mail 1.0
  • Courrier 1.1

Pour plus d’informations, consultez Remplacements de version dans le manifeste du complément uniquement.

Attributs

Attribut Obligatoire Description
xsi:type Oui Type de point d’extension défini. Les valeurs possibles dépendent de l’application hôte Office définie dans la valeur de l’élément hôte> grand-parent<.

Points d’extension pour Excel, Outlook, PowerPoint et Word

  • LaunchEvent : active les tâches basées sur les événements de l’application, tels que l’ouverture.

LaunchEvent

Ce point d’extension permet l’activation d’un complément en fonction d’événements pris en charge dans les facteurs de forme bureau et mobile. Pour en savoir plus sur l’activation basée sur les événements et obtenir la liste complète des événements pris en charge, consultez Activer des compléments avec des événements.

Importante

L’inscription Mailbox et Item les événements ne sont pas disponibles avec ce point d’extension.

Éléments enfants

Élément Description
LaunchEvents Liste de LaunchEvent pour l’activation basée sur l’événement.
SourceLocation Emplacement du fichier JavaScript source.

Important : la resid valeur de l’élément <SourceLocation> doit correspondre à la resid valeur de l’élément <Runtime> qui représente l’environnement d’exécution du navigateur. Par exemple, si votre environnement d’exécution est défini comme <Runtime resid="WebViewRuntime.Url">, spécifiez <SourceLocation resid="WebViewRuntime.Url"/>

Exemple

<ExtensionPoint xsi:type="LaunchEvent">
  <LaunchEvents>
    <LaunchEvent Type="OnNewMessageCompose" FunctionName="onMessageComposeHandler"/>
    <LaunchEvent Type="OnNewAppointmentOrganizer" FunctionName="onAppointmentComposeHandler"/>
  </LaunchEvents>
  <!-- Identifies the runtime to be used. The resid value must match the resid value of the Runtime element that represents the browser runtime. -->
  <SourceLocation resid="WebViewRuntime.Url"/>
</ExtensionPoint>

Points d’extension pour les commandes de complément Excel, OneNote, PowerPoint et Word

Il existe trois types de points d’extension disponibles dans certains ou tous ces hôtes.

  • PrimaryCommandSurface (valable pour Word, Excel, PowerPoint et OneNote) : ruban dans Office.
  • Menu contextuel (valable pour Word, Excel, PowerPoint et OneNote) : menu contextuel qui s’affiche lorsque vous cliquez avec le bouton droit (ou sélectionnez et maintenez le bouton enfoncé) dans l’interface utilisateur Office.
  • CustomFunctions (valable uniquement pour Excel) : fonction personnalisée écrite en JavaScript pour Excel.

Consultez les sous-sections suivantes pour les éléments enfants et des exemples de ces types de points d’extension.

PrimaryCommandSurface

Le ruban est la principale surface de commande dans Word, Excel, PowerPoint et OneNote.

Éléments enfants

Élément Description
CustomTab Obligatoire si vous souhaitez ajouter un onglet personnalisé au ruban (à l’aide de PrimaryCommandSurface). Si vous utilisez l’élément <CustomTab> , vous ne pouvez pas utiliser l’élément <OfficeTab> . L’attribut id est requis. Il ne peut y avoir plus d’un <élément enfant CustomTab> .
OfficeTab Obligatoire si vous souhaitez étendre un onglet du ruban d’application Office par défaut (à l’aide de PrimaryCommandSurface). Si vous utilisez l’élément <OfficeTab> , vous ne pouvez pas utiliser l’élément <CustomTab> .

Importante

Il ne peut y avoir plus d’un <élément ExtensionPoint> dans le complément qui a un élément CustomTab> enfant< et qu’un élément ExtensionPoint> ne peut avoir qu’un seul CustomTab, de sorte qu’il< n’y a qu’un <seul élément CustomTab pour tous les éléments ExtensionPoint>><.><

Exemple

L’exemple suivant montre comment utiliser l’élément <ExtensionPoint> avec PrimaryCommandSurface. Un onglet personnalisé est ajouté au ruban.

Importante

Pour les éléments qui contiennent un attribut ID, veillez à fournir un ID unique.

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

Menu contextuel

Un menu contextuel est un menu contextuel qui s’affiche lorsque vous cliquez avec le bouton droit (ou sélectionnez et maintenez appuyé) dans l’interface utilisateur Office.

Éléments enfants

Élément Description
OfficeMenu Obligatoire pour ajouter des commandes de complément à un menu contextuel par défaut (en utilisant ContextMenu). L’attribut id doit être défini sur l’une des chaînes suivantes.
  • ContextMenuText si le menu contextuel doit s’ouvrir lorsqu’un utilisateur clique avec le bouton droit (ou sélectionne et maintient enfoncé) sur le texte sélectionné.
  • ContextMenuCell si le menu contextuel doit s’ouvrir lorsqu’un utilisateur clique avec le bouton droit (ou sélectionne et maintient) sur une cellule d’une feuille de calcul Excel.

Exemple

Ce qui suit personnalise le menu contextuel ouvert sur le texte sélectionné dans une application Office prise en charge. Le contrôle de menu contextuel utilisé est de type Bouton.

<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

Une fonction personnalisée écrite en JavaScript ou TypeScript pour Excel.

Éléments enfants

Élément Description
Script Obligatoire. Liens vers le fichier JavaScript avec la définition et le code d’enregistrement de la fonction personnalisée.
Page Obligatoire. Liens vers la page HTML de vos fonctions personnalisées.
Métadonnées Obligatoire. Définit les paramètres de script utilisés par une fonction personnalisée dans Excel.
Namespace Facultatif. Définit les paramètres de script utilisés par une fonction personnalisée dans Excel.

Exemple

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

Points d’extension pour Outlook

MessageReadCommandSurface

Ce point d’extension place des boutons dans la surface de commande pour le mode de lecture de courrier électronique. Dans l’application de bureau Outlook, cela apparaît dans le ruban.

Éléments enfants

Élément Description
OfficeTab Ajoute les commandes à l’onglet de ruban par défaut.
CustomTab Ajoute les commandes à l’onglet de ruban personnalisé.

Exemple OfficeTab

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

Exemple CustomTab

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

MessageComposeCommandSurface

Ce point d’extension place des boutons sur le ruban pour les compléments à l’aide du formulaire de composition de messagerie.

Éléments enfants

Élément Description
OfficeTab Ajoute les commandes à l’onglet de ruban par défaut.
CustomTab Ajoute les commandes à l’onglet de ruban personnalisé.

Exemple OfficeTab

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

Exemple CustomTab

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

AppointmentOrganizerCommandSurface

Ce point d’extension place des boutons sur le ruban pour le formulaire qui est affiché à l’intention de l’organisateur de la réunion.

Éléments enfants

Élément Description
OfficeTab Ajoute les commandes à l’onglet de ruban par défaut.
CustomTab Ajoute les commandes à l’onglet de ruban personnalisé.

Exemple OfficeTab

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

Exemple CustomTab

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

AppointmentAttendeeCommandSurface

Ce point d’extension place des boutons sur le ruban pour le formulaire qui est affiché à l’intention du participant à la réunion.

Éléments enfants

Élément Description
OfficeTab Ajoute les commandes à l’onglet de ruban par défaut.
CustomTab Ajoute les commandes à l’onglet de ruban personnalisé.

Exemple OfficeTab

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

Exemple CustomTab

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

Module

Ce point d’extension ajoute un complément d’extension de module à la barre de navigation Outlook. Il ajoute également des boutons à un onglet personnalisé du ruban pour l’extension de module. Pour plus d’informations sur la création d’extensions de module, consultez Compléments Outlook d’extension de module.

Importante

L’inscription Mailbox et Item les événements ne sont pas disponibles avec ce point d’extension.

Éléments enfants

Élément Description
SourceLocation Indique l’emplacement du fichier HTML qui configure l’interface utilisateur principale du complément.
Étiquette Spécifie l’étiquette de l’extension de module. Son attribut resid ne peut pas contenir plus de 32 caractères et doit être défini sur la valeur de l’attribut id d’un <élément String> de l’élément ShortStrings .
Surface de commande Ajoute un groupe de boutons de complément à un onglet personnalisé du ruban.

Exemple

<ExtensionPoint xsi:type="Module">
  <SourceLocation resid="residExtensionPointUrl"/>
  <Label resid="residExtensionPointLabel"/>
  <CommandSurface>
    <CustomTab id="idTab">
      <Group id="idGroup">
        <Label resid="residGroupLabel"/>
        <Control xsi:type="Button" id="group.changeToAssociate">
          <Label resid="residChangeToAssociateLabel"/>
          <Supertip>
            <Title resid="residChangeToAssociateLabel"/>
            <Description resid="residChangeToAssociateDesc"/>
          </Supertip>
          <Icon>
            <bt:Image size="16" resid="residAssociateIcon16"/>
            <bt:Image size="32" resid="residAssociateIcon32"/>
            <bt:Image size="80" resid="residAssociateIcon80"/>
          </Icon>
          <Action xsi:type="ExecuteFunction">
            <FunctionName>changeToAssociateRate</FunctionName>
          </Action>
        </Control>
      </Group>
      <Label resid="residCustomTabLabel"/>
    </CustomTab>
  </CommandSurface>
</ExtensionPoint>

MobileMessageReadCommandSurface

Ce point d’extension place des boutons dans la surface de commande pour le mode de lecture de courrier électronique dans le facteur de forme pour environnement mobile.

Éléments enfants

Élément Description
Group Ajoute un groupe de boutons à la surface de commande.

<Les éléments ExtensionPoint> de ce type ne peuvent avoir qu’un seul élément enfant : un <élément Group> .

L’attribut xsi :type des éléments de contrôle> contenus dans ce point d’extension doit être .<MobileButton

Exemple

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

MobileOnlineMeetingCommandSurface

Ce point d’extension place un bouton bascule approprié au mode dans la surface de commande pour un rendez-vous au format mobile. Un organisateur de réunion peut créer une réunion en ligne. Un participant peut par la suite rejoindre la réunion en ligne. Pour en savoir plus sur ce scénario, voir Créer un complément Outlook mobile pour un fournisseur de réunions en ligne.

Remarque

Ce point d’extension est uniquement pris en charge sur Android et iOS avec un abonnement Microsoft 365.

L’inscription Mailbox et Item les événements ne sont pas disponibles avec ce point d’extension.

Éléments enfants

Élément Description
Contrôle Ajoute un bouton à l’aire de commande.

<Les éléments ExtensionPoint> de ce type ne peuvent avoir qu’un seul élément enfant : un <élément Contrôle> .

L’attribut <xsi :type de l’élément de contrôle> contenu dans ce point d’extension MobileButtondoit être .

Les images spécifiées dans l’élément <Icône> doivent être en nuances de gris à l’aide du code #919191 hexadécimal ou de son équivalent dans d’autres formats de couleur.

Exemple

<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

Ce point d’extension place un bouton d’action de journal contextuellement dans la surface de commande pour un rendez-vous au format mobile. Les participants au rendez-vous qui ont installé le complément peuvent enregistrer leurs notes de rendez-vous dans une application externe en un seul clic. Ce point d’extension prend en charge les fonctionnalités du volet Office et des commandes de fonction. Pour en savoir plus sur ce scénario, voir Prendre des notes de rendez-vous dans une application externe dans les compléments mobiles Outlook.

Remarque

Ce point d’extension est uniquement pris en charge sur Android et iOS avec un abonnement Microsoft 365.

L’inscription Mailbox et Item les événements ne sont pas disponibles avec ce point d’extension.

Éléments enfants

Élément Description
Contrôle Ajoute un bouton à l’aire de commande.

<Les éléments ExtensionPoint> de ce type ne peuvent avoir qu’un seul élément enfant : un <élément Contrôle> .

L’attribut <xsi :type de l’élément de contrôle> contenu dans ce point d’extension MobileButtondoit être .

Les images spécifiées dans l’élément <Icône> doivent être en nuances de gris à l’aide du code #919191 hexadécimal ou de son équivalent dans d’autres formats de couleur.

Exemple

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

Événements

Ce point d’extension ajoute un gestionnaire d’événements pour un événement spécifié. Pour plus d’informations sur l’utilisation de ce point d’extension, voir Fonctionnalité Sur envoi pour les compléments Outlook.

Importante

L’inscription Mailbox et Item les événements ne sont pas disponibles avec ce point d’extension.

Remarque

Les alertes intelligentes, qui est une version plus récente de la fonctionnalité lors de l’envoi, utilisent le point d’extension LaunchEvent pour activer l’activation d’événement dans un complément. Pour en savoir plus sur les principales différences entre les alertes intelligentes et la fonction lors de l’envoi, consultez Différences entre les alertes intelligentes et la fonction lors de l’envoi. Nous vous invitons à essayer les alertes intelligentes en suivant la procédure pas à pas.

Élément Description
Event Indique l’événement et la fonction gestionnaire d’événements.

Exemple d’événement ItemSend

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

DetectedEntity

Ce point d’extension ajoute une activation de complément contextuel sur un type d’entité spécifié. Pour plus d’informations sur l’utilisation de ce point d’extension, voir Compléments contextuels Outlook.

Importante

Les compléments Outlook contextuels basés sur des entités sont désormais mis hors service. Vous pouvez également implémenter des règles d’expression régulière dans votre complément contextuel. Pour obtenir des instructions sur la façon d’implémenter ces règles, voir Compléments contextuels Outlook.

L’élément VersionOverrides qui le contient doit avoir une valeur d’attribut xsi :type de VersionOverridesV1_1.

Remarque

Élément Description
Label Spécifie l’étiquette pour le complément dans la fenêtre contextuelle.
SourceLocation Spécifie l’URL de la fenêtre contextuelle.
Règle Spécifie la ou les règles qui déterminent lorsqu’un complément s’active.

Étiquette

Obligatoire. Libellé du groupe. L’attribut resid ne peut pas comporter plus de 32 caractères et doit être défini sur la valeur de l’attribut id d’un <élément String> de l’élément <ShortStrings> de l’élément Resources .

Exigences relatives à la mise en surbrillance

Le seul moyen pour qu’un utilisateur puisse activer un complément contextuel consiste à interagir avec une entité en surbrillance. Les développeurs peuvent contrôler les entités mises en surbrillance à l’aide de l’attribut Highlight de l’élément <Rule> pour le type de ItemHasRegularExpressionMatch règle.

Toutefois, il existe certaines limitations à connaître. Ces limitations sont en place pour vous assurer qu’il y aura toujours une entité en surbrillance dans les messages ou rendez-vous applicables pour permettre à l’utilisateur d’activer le complément.

  • Si vous utilisez une seule règle, l’attribut Highlight DOIT être défini sur all.
  • Si vous utilisez un RuleCollection type de règle avec Mode="And" pour combiner plusieurs règles, au moins l’une d’entre elles DOIT avoir l’attribut Highlight défini sur all.
  • Si vous utilisez un RuleCollection type de règle avec Mode="Or" pour combiner plusieurs règles, l’attribut Highlight de toutes les règles DOIT être défini sur all.

Exemple d’événement 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

Ce point d’extension active votre complément de signalement de courrier indésirable dans le ruban Outlook et l’empêche d’apparaître à la fin du ruban ou dans le menu de dépassement de capacité.

Pour plus d’informations sur l’implémentation de la fonctionnalité de signalement de courrier indésirable dans votre complément, consultez Implémenter un complément de signalement de courrier indésirable intégré.

Éléments enfants

Élément Description
élément ReportPhishingCustomization Configure le bouton du ruban et la boîte de dialogue de prétraitement d’un complément de signalement de courrier indésirable.

Exemple

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