Manifeste XML des compléments Office

Cet article présente le manifeste au format XML pour les compléments Office. Il suppose que vous êtes familiarisé avec le manifeste des compléments Office. Outre les objectifs décrits dans cet article, le manifeste au format XML prend également en charge certaines fonctionnalités de complément Outlook qui ne sont pas prises en charge dans le manifeste unifié pour Microsoft 365. Par exemple, un manifeste XML pour les compléments Outlook peut définir la ou les règles qui spécifient le contexte dans lequel le complément est activé.

Conseil

Pour obtenir une vue d’ensemble du manifeste unifié pour Microsoft 365, voir Compléments Office avec le manifeste unifié pour Microsoft 365 (préversion).

Versions de schéma

Tous les clients Office ne prennent pas en charge les dernières fonctionnalités, et certains utilisateurs d’Office auront une version antérieure d’Office. Les versions de schéma permettent aux développeurs de créer des compléments garantissant une compatibilité descendante, qui utilisent les fonctionnalités les plus récentes lorsqu’elles sont disponibles, mais fonctionnent avec des versions plus anciennes.

L’élément <VersionOverrides> dans le manifeste en est un exemple. Tous les éléments définis dans <VersionOverrides> remplacent le même élément dans l’autre partie du manifeste. Cela signifie que, dans la mesure du possible, Office utilisera ce qui se trouve dans la <section VersionOverrides> pour configurer le complément. Toutefois, si la version d’Office ne prend pas en charge une certaine version de <VersionOverrides, Office l’ignore et dépend des informations contenues> dans le reste du manifeste.

Cette approche signifie que les développeurs ne doivent pas créer plusieurs manifestes individuels, mais plutôt conserver tous les éléments définis dans un fichier.

Les versions actuelles du schéma sont les suivantes :

Version Description
v1.0 Prend en charge la version 1.0 de l’API JavaScript Office. Par exemple, dans les compléments Outlook, cela prend en charge le formulaire de lecture.
v1.1 Prend en charge la version 1.1 de l’API JavaScript Office et <versionOverrides>. Par exemple, dans les compléments Outlook, cela ajoute la prise en charge du formulaire de composition.
<VersionOverrides> 1.0 Prend en charge les versions ultérieures de l’API JavaScript Office. La prise en charge des commandes de complément est incluse.
<VersionOverrides> 1.1 Pris en charge par Outlook uniquement. Cette version de <VersionOverrides ajoute la> prise en charge des fonctionnalités plus récentes, telles que les volets Office pouvant être épinglés et les compléments mobiles.

Même si votre manifeste de complément utilise l’élément <VersionOverrides> , il est toujours important d’inclure les éléments de manifeste v1.1 pour permettre à votre complément de fonctionner avec des clients plus anciens qui ne prennent pas en charge <VersionOverrides>.

Remarque

Office utilise un schéma pour valider les manifestes. Ce schéma requiert que les éléments du manifeste apparaissent dans un ordre spécifique. Si vous incluez des éléments dans un ordre autre que celui demandé, vous pouvez obtenir des erreurs lors du chargement de votre complément. Consultez Comment trouver l’ordre approprié des éléments manifestes dans l’ordre requis.

Éléments requis

Le tableau suivant spécifie les éléments qui sont requis pour les trois types de compléments Office.

Remarque

Il existe également un ordre obligatoire d’apparition des éléments au sein de leur élément parent. Pour plus d’informations, consultez Comment trouver l’ordre approprié des éléments de manifeste XML.

Éléments requis par type de complément Office

Élément Contenu Volet de tâches Courrier
(Outlook)
OfficeApp Obligatoire Obligatoire Obligatoire
Id Obligatoire Obligatoire Obligatoire
Version Obligatoire Obligatoire Obligatoire
ProviderName Obligatoire Obligatoire Obligatoire
DefaultLocale Obligatoire Obligatoire Obligatoire
DisplayName Obligatoire Obligatoire Obligatoire
Description Obligatoire Obligatoire Obligatoire
SupportUrl** Obligatoire Obligatoire Obligatoire
DefaultSettings (ContentApp)
DefaultSettings (TaskPaneApp)
Obligatoire Obligatoire Non disponible
SourceLocation (ContentApp)
SourceLocation (TaskPaneApp)
SourceLocation (MailApp)
Obligatoire Obligatoire Obligatoire
DesktopSettings Non disponible Non disponible Requis
Permissions (ContentApp)
Permissions (TaskPaneApp)
Permissions (MailApp)
Obligatoire Obligatoire Obligatoire
Rule (RuleCollection)
Rule (MailApp)
Non disponible Non disponible Requis
Configuration requise (MailApp)* Non applicable Non disponible Requis
Définir*
Ensembles (exigences)*
Ensembles (MailAppRequirements)*
Obligatoire Obligatoire Obligatoire
Formulaire*
FormSettings*
Non disponible Non disponible Requis
Hôtes* Obligatoire Obligatoire Facultatif

*Ajouté dans le schéma de manifeste du complément Office version 1.1.

** SupportUrl est requis uniquement pour les compléments distribués via AppSource.

Élément racine

L’élément racine du manifeste de complément Office est <OfficeApp>. Cet élément indique également l’espace de noms, la version de schéma et le type de complément par défaut. Placez tous les autres éléments du manifeste entre ses balises d’ouverture et de fermeture. Voici un exemple de l’élément racine.

<OfficeApp
  xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
  xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
  xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0"
  xsi:type="MailApp">

  <!-- The rest of the manifest. -->

</OfficeApp>

Version

Il s’agit de la version du complément spécifique. Si un développeur met à jour un élément dans le manifeste, la version doit être incrémentée également. Ainsi, lorsque le nouveau manifeste est installé, il remplace celui existant et l’utilisateur a accès aux nouvelles fonctionnalités. Si ce complément a été soumis dans le magasin, le nouveau manifeste devra être soumis une deuxième fois et validé à nouveau. Ensuite, les utilisateurs de ce complément recevront le nouveau manifeste mis à jour automatiquement dans quelques heures, une fois approuvé.

If the add-in's requested permissions change, users will be prompted to upgrade and re-consent to the add-in. If the admin installed this add-in for the entire organization, the admin will have to re-consent first. Les utilisateurs ne pourront pas utiliser le complément tant que leur consentement n’aura pas été accordé.

Hôtes

Les compléments Office spécifient l’élément <Hosts> comme suit :

<OfficeApp>
...
  <Hosts>
    <Host Name="Mailbox" />
  </Hosts>
...
</OfficeApp>

Il est distinct de l’élément <Hosts> à l’intérieur de l’élément <VersionOverrides>, qui est abordé dans Create commandes de complément avec le manifeste XML.

Spécifier des domaines sécurisés avec l’élément AppDomains

Il existe un élément AppDomains du fichier manifeste XML qui est utilisé pour indiquer à Office les domaines vers lesquels votre complément doit être autorisé à naviguer. Comme indiqué dans Spécifier les domaines que vous souhaitez ouvrir dans la fenêtre de complément, lors de l’exécution dans Office sur le Web, votre volet Office peut être redirigé vers n’importe quelle URL. Toutefois, sur les plateformes de bureau, si votre complément tente d’accéder à une URL dans un domaine autre que le domaine qui héberge la page de démarrage (comme spécifié dans l’élément SourceLocation ), cette URL s’ouvre dans une nouvelle fenêtre de navigateur en dehors du volet de complément de l’application Office.

Pour remplacer ce comportement (bureau Office), ajoutez chaque domaine que vous souhaitez ouvrir dans la fenêtre de complément dans la liste des domaines spécifiés dans l’élément <AppDomains> . Si le complément tente d’accéder à une URL située dans un domaine figurant dans cette liste, il s’ouvre dans le volet Office d’Office sur le web et de la version de bureau d’Office. S’il tente d’accéder à une URL qui ne figure pas dans la liste, dans office de bureau, cette URL s’ouvre dans une nouvelle fenêtre de navigateur (en dehors du volet du complément).

Le tableau suivant décrit le comportement du navigateur lorsque votre complément tente d’accéder à une URL en dehors du domaine par défaut du complément.

Client Office Domaine défini dans AppDomains ? Comportement du navigateur
Tous les clients Oui Le lien s’ouvre dans le volet Office du complément.
Office 2016 sur Windows (licence en volume perpétuelle) Non Le lien s’ouvre dans Internet Explorer 11.
Autres clients Non Le lien s’ouvre dans le navigateur par défaut de l’utilisateur.

L’exemple de manifeste XML suivant héberge sa page de complément main dans le https://www.contoso.com domaine, comme spécifié dans l’élément <SourceLocation>. Il spécifie également le https://www.northwindtraders.com domaine dans un élément AppDomain dans la <liste des éléments AppDomains> . Si le complément ouvre une page dans le domaine www.northwindtraders.com, cette page s’ouvre dans le volet de complément, y compris dans le bureau Office.

<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="TaskPaneApp">
  <!--IMPORTANT! Id must be unique for each add-in. If you copy this manifest ensure that you change this id to your own GUID. -->
  <Id>c6890c26-5bbb-40ed-a321-37f07909a2f0</Id>
  <Version>1.0</Version>
  <ProviderName>Contoso, Ltd</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="Northwind Traders Excel" />
  <Description DefaultValue="Search Northwind Traders data from Excel"/>
  <SupportUrl DefaultValue="[Insert the URL of a page that provides support information for the app]" />
  <AppDomains>
    <AppDomain>https://www.northwindtraders.com</AppDomain>
  </AppDomains>
  <DefaultSettings>
    <SourceLocation DefaultValue="https://www.contoso.com/search_app/Default.aspx" />
  </DefaultSettings>
  <Permissions>ReadWriteDocument</Permissions>
</OfficeApp>

Élément version dans le fichier manifeste

L’élément facultatif VersionOverrides contient un balisage enfant qui active des fonctionnalités de complément supplémentaires. Certains d’entre eux sont les suivants :

  • Personnalisation du Office et des menus.
  • Personnalisation du fonctionnement d’Office avec les runtimes incorporés dans lesquels les compléments s’exécutent.
  • Configuration de la façon dont le complément interagit avec Azure Active Directory et Microsoft Graph pour l’authentification unique.

Certains éléments descendants VersionOverrides ont des valeurs qui remplacent les valeurs de l’élément OfficeApp parent. Par exemple, Hosts l’élément dans VersionOverrides remplace Hosts l’élément dans OfficeApp .

L’élément possède son propre schéma, en fait quatre d’entre eux, en fonction du type de complément et des fonctionnalités VersionOverrides qu’il utilise. Les schémas sont :

Lorsqu’un élément est utilisé, l’élément doit avoir VersionOverrides un attribut qui identifie le schéma OfficeAppxmlns approprié. Les valeurs possibles de l’attribut sont les suivantes :

  • http://schemas.microsoft.com/office/taskpaneappversionoverrides
  • http://schemas.microsoft.com/office/contentappversionoverrides
  • http://schemas.microsoft.com/office/mailappversionoverrides

VersionOverridesL’élément lui-même doit également avoir un xmlns attribut spécifiant le schéma. Les valeurs possibles sont les trois ci-dessus et les suivantes :

  • http://schemas.microsoft.com/office/mailappversionoverrides/1.1

VersionOverridesL’élément doit également avoir un attribut qui spécifie la version du xsi:type schéma. Les valeurs possibles sont les suivantes :

  • VersionOverridesV1_0
  • VersionOverridesV1_1

Voici des exemples d’utilisation, respectivement, dans un complément du volet Des tâches et un VersionOverrides complément de messagerie. Notez que lorsqu’un courrier avec la version 1.1 est utilisé, il doit être le dernier enfant d’un parent de VersionOverridesVersionOverrides type 1.0. Les valeurs des éléments enfants dans l’élément interne remplacent les valeurs des éléments portant le même nom dans l’élément parent et VersionOverridesVersionOverrides l’élément OfficeApp parent.

<VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
    <!-- Child elements are omitted. -->
</VersionOverrides>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
  <!-- Other child elements are omitted. -->
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
    <!-- Child elements are omitted. -->
  </VersionOverrides>
</VersionOverrides>

Pour obtenir un exemple de manifeste qui inclut un élément, voir les exemples de fichier XML manifeste VersionOverridesv1.1et les schémas.

Configuration requise

L’élément <Requirements> spécifie l’ensemble des API disponibles pour le complément. Pour plus d’informations sur les ensembles de conditions requises, consultez Disponibilité des ensembles de conditions requises Office. Par exemple, dans un complément Outlook, l’ensemble de conditions requises doit être Boîte aux lettres et avoir la valeur 1.1 ou ultérieure.

L’élément <Requirements> peut également apparaître dans l’élément <VersionOverrides> , ce qui permet au complément de spécifier une exigence différente lorsqu’il est chargé dans les clients qui prennent en charge <VersionOverrides>.

L’exemple suivant utilise l’attribut DefaultMinVersion de l’élément <Sets> pour exiger office.js version 1.1 ou ultérieure, et l’attribut MinVersion de l’élément <Set> pour exiger l’ensemble de conditions requises Mailbox version 1.1.

<OfficeApp>
...
  <Requirements>
    <Sets DefaultMinVersion="1.1">
      <Set Name="MailBox" MinVersion="1.1" />
    </Sets>
  </Requirements>
...
</OfficeApp>

Localisation

Certains aspects du complément doivent être localisés pour les différents paramètres régionaux, tels que le nom, la description et l’URL qui est chargée. Ces éléments peuvent facilement être localisés en spécifiant la valeur par défaut, puis en remplaçant les paramètres régionaux dans l’élément <Resources> dans l’élément <VersionOverrides> . L’exemple suivant montre comment remplacer une image, une URL et une chaîne.

<Resources>
  <bt:Images>
    <bt:Image id="icon1_16x16" DefaultValue="https://contoso.com/images/app_icon_small.png" >
      <bt:Override Locale="ar-sa" Value="https://contoso.com/images/app_icon_small_arsa.png" />
      <!-- Add information for other locales. -->
    </bt:Image>
  </bt:Images>

  <bt:Urls>
    <bt:Url id="residDesktopFuncUrl" DefaultValue="https://contoso.com/urls/page_appcmdcode.html" >
      <bt:Override Locale="ar-sa" Value="https://contoso.com/urls/page_appcmdcode.html?lcid=ar-sa" />
      <!-- Add information for other locales. -->
    </bt:Url>
  </bt:Urls>

  <bt:ShortStrings> 
    <bt:String id="residViewTemplates" DefaultValue="Launch My Add-in">
      <bt:Override Locale="ar-sa" Value="<add localized value here>" />
      <!-- Add information for other locales. -->
    </bt:String>
  </bt:ShortStrings>
</Resources>

La référence de schéma contient des informations complètes sur les éléments qui peuvent être localisés.

Exemples et schémas de fichier XML manifeste version 1.1

Les sections suivantes présentent des exemples de fichiers XML de manifeste v1.1 pour les compléments de contenu, de volet Office et de courrier (Outlook).

Schémas de manifeste de compléments

<?xml version="1.0" encoding="utf-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="TaskPaneApp">

  <!-- See https://github.com/OfficeDev/Office-Add-in-Commands-Samples for documentation. -->

  <!-- BeginBasicSettings: Add-in metadata, used for all versions of Office unless override provided. -->

  <!-- IMPORTANT! Id must be unique for your add-in. If you copy this manifest, ensure that you change this ID to your own GUID. -->
  <Id>e504fb41-a92a-4526-b101-542f357b7acb</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>Contoso</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <!-- The display name of your add-in. Used on the store and various placed of the Office UI such as the add-in's dialog. -->
  <DisplayName DefaultValue="Add-in Commands Sample" />
  <Description DefaultValue="Sample that illustrates add-in commands basic control types and actions." />
  <!-- Icon for your add-in. Used on installation screens and the add-in's dialog. -->
  <IconUrl DefaultValue="https://contoso.com/assets/icon-32.png" />
  <HighResolutionIconUrl DefaultValue="https://contoso.com/assets/hi-res-icon.png" />
  <SupportUrl DefaultValue="[Insert the URL of a page that provides support information for the app]" />
  <!-- Domains that are allowed when navigating. For example, if you use ShowTaskpane and then have an href link, navigation is only allowed if the domain is on this list. -->
  <AppDomains>
    <AppDomain>AppDomain1</AppDomain>
    <AppDomain>AppDomain2</AppDomain>
  </AppDomains>
  <!-- End Basic Settings. -->

  <!-- BeginTaskPaneMode integration. Any client that doesn't understand commands will use this section.
    This section will also be used if there are no VersionOverrides. -->
  <Hosts>
    <Host Name="Document"/>
  </Hosts>
  <DefaultSettings>
    <SourceLocation DefaultValue="https://commandsimple.azurewebsites.net/Taskpane.html" />
  </DefaultSettings>
  <!-- EndTaskPaneMode integration. -->

  <Permissions>ReadWriteDocument</Permissions>

  <!-- BeginAddinCommandsMode integration. -->
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Hosts>
      <!-- Each host can have a different set of commands. Cool huh!? -->
      <!-- Workbook=Excel, Document=Word, Presentation=PowerPoint -->
      <!-- Make sure the hosts you override match the hosts declared in the top section of the manifest. -->
      <Host xsi:type="Document">
        <!-- Form factor. DesktopFormFactor is supported. Other form factors are available depending on the host and feature. -->
        <DesktopFormFactor>
          <!-- This code enables a customizable message to be displayed when the add-in is loaded successfully upon individual install. -->
          <GetStarted>
            <!-- Title of the Getting Started callout. The resid attribute points to a ShortString resource. -->
            <Title resid="Contoso.GetStarted.Title"/>
            <!-- Description of the Getting Started callout. resid points to a LongString resource. -->
            <Description resid="Contoso.GetStarted.Description"/>  
            <!-- Points to a URL resource which details how the add-in should be used. -->
            <LearnMoreUrl resid="Contoso.GetStarted.LearnMoreUrl"/>
          </GetStarted>
          <!-- Function file is an HTML page that includes, or loads, the JavaScript where functions for ExecuteAction will be called. Think of the FunctionFile as the "code behind" ExecuteFunction. -->
          <FunctionFile resid="Contoso.FunctionFile.Url" />

          <!-- PrimaryCommandSurface==Main Office app ribbon. -->
          <ExtensionPoint xsi:type="PrimaryCommandSurface">
            <!-- Use OfficeTab to extend an existing Tab. Use CustomTab to create a new tab. -->
            <!-- Documentation includes all the IDs currently tested to work. -->
            <CustomTab id="Contoso.Tab1">
              <!--Group ID-->
              <Group id="Contoso.Tab1.Group1">
                <!--Label for your group. resid must point to a ShortString resource. -->
                <Label resid="Contoso.Tab1.GroupLabel" />
                <Icon>
                  <!-- Each size needs its own icon resource or it will look distorted when resized. -->
                  <!-- Icons. Required sizes: 16, 32, 80; optional: 20, 24, 40, 48, 64. You should provide as many sizes as possible for a great user experience. -->
                  <!-- Use PNG icons and remember that all URLs on the resources section must use HTTPS. -->
                  <bt:Image size="16" resid="Contoso.TaskpaneButton.Icon16" />
                  <bt:Image size="32" resid="Contoso.TaskpaneButton.Icon32" />
                  <bt:Image size="80" resid="Contoso.TaskpaneButton.Icon80" />
                </Icon>

                <!-- Control. It can be of type "Button" or "Menu". -->
                <Control xsi:type="Button" id="Contoso.FunctionButton">
                  <!-- Label for your button. resid must point to a ShortString resource. -->
                  <Label resid="Contoso.FunctionButton.Label" />
                  <Supertip>
                    <!-- ToolTip title. resid must point to a ShortString resource. -->
                    <Title resid="Contoso.FunctionButton.Label" />
                    <!-- ToolTip description. resid must point to a LongString resource. -->
                    <Description resid="Contoso.FunctionButton.Tooltip" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Contoso.FunctionButton.Icon16" />
                    <bt:Image size="32" resid="Contoso.FunctionButton.Icon32" />
                    <bt:Image size="80" resid="Contoso.FunctionButton.Icon80" />
                  </Icon>
                  <!-- This is what happens when the command is triggered (e.g., click on the ribbon button). -->
                  <!-- Supported actions are ExecuteFunction or ShowTaskpane. -->
                  <!-- Look at the FunctionFile.html page for reference on how to implement the function. -->
                  <Action xsi:type="ExecuteFunction">
                    <!-- Name of the function to call. This function needs to exist in the global DOM namespace of the function file. -->
                    <FunctionName>writeText</FunctionName>
                  </Action>
                </Control>

                <Control xsi:type="Button" id="Contoso.TaskpaneButton">
                  <Label resid="Contoso.TaskpaneButton.Label" />
                  <Supertip>
                    <Title resid="Contoso.TaskpaneButton.Label" />
                    <Description resid="Contoso.TaskpaneButton.Tooltip" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Contoso.TaskpaneButton.Icon16" />
                    <bt:Image size="32" resid="Contoso.TaskpaneButton.Icon32" />
                    <bt:Image size="80" resid="Contoso.TaskpaneButton.Icon80" />
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <TaskpaneId>Button2Id1</TaskpaneId>
                    <!-- Provide a URL resource ID for the location that will be displayed on the task pane. -->
                    <SourceLocation resid="Contoso.Taskpane1.Url" />
                  </Action>
                </Control>
                <!-- Menu example. -->
                <Control xsi:type="Menu" id="Contoso.Menu">
                  <Label resid="Contoso.Dropdown.Label" />
                  <Supertip>
                    <Title resid="Contoso.Dropdown.Label" />
                    <Description resid="Contoso.Dropdown.Tooltip" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Contoso.TaskpaneButton.Icon16" />
                    <bt:Image size="32" resid="Contoso.TaskpaneButton.Icon32" />
                    <bt:Image size="80" resid="Contoso.TaskpaneButton.Icon80" />
                  </Icon>
                  <Items>
                    <Item id="Contoso.Menu.Item1">
                      <Label resid="Contoso.Item1.Label"/>
                      <Supertip>
                        <Title resid="Contoso.Item1.Label" />
                        <Description resid="Contoso.Item1.Tooltip" />
                      </Supertip>
                      <Icon>
                        <bt:Image size="16" resid="Contoso.TaskpaneButton.Icon16" />
                        <bt:Image size="32" resid="Contoso.TaskpaneButton.Icon32" />
                        <bt:Image size="80" resid="Contoso.TaskpaneButton.Icon80" />
                      </Icon>
                      <Action xsi:type="ShowTaskpane">
                        <TaskpaneId>MyTaskPaneID1</TaskpaneId>
                        <SourceLocation resid="Contoso.Taskpane1.Url" />
                      </Action>
                    </Item>

                    <Item id="Contoso.Menu.Item2">
                      <Label resid="Contoso.Item2.Label"/>
                      <Supertip>
                        <Title resid="Contoso.Item2.Label" />
                        <Description resid="Contoso.Item2.Tooltip" />
                      </Supertip>
                      <Icon>
                        <bt:Image size="16" resid="Contoso.TaskpaneButton.Icon16" />
                        <bt:Image size="32" resid="Contoso.TaskpaneButton.Icon32" />
                        <bt:Image size="80" resid="Contoso.TaskpaneButton.Icon80" />
                      </Icon>
                      <Action xsi:type="ShowTaskpane">
                        <TaskpaneId>MyTaskPaneID2</TaskpaneId>
                        <SourceLocation resid="Contoso.Taskpane2.Url" />
                      </Action>
                    </Item>

                  </Items>
                </Control>

              </Group>

              <!-- Label of your tab. -->
              <!-- If validating with XSD, it needs to be at the end. -->
              <Label resid="Contoso.Tab1.TabLabel" />
            </CustomTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>

    <!-- You can use resources across hosts and form factors. -->
    <Resources>
      <bt:Images>
        <bt:Image id="Contoso.TaskpaneButton.Icon16" DefaultValue="https://myCDN/Images/Button16x16.png" />
        <bt:Image id="Contoso.TaskpaneButton.Icon32" DefaultValue="https://myCDN/Images/Button32x32.png" />
        <bt:Image id="Contoso.TaskpaneButton.Icon80" DefaultValue="https://myCDN/Images/Button80x80.png" />
        <bt:Image id="Contoso.FunctionButton.Icon" DefaultValue="https://myCDN/Images/ButtonFunction.png" />
      </bt:Images>
      <bt:Urls>
        <bt:Url id="Contoso.FunctionFile.Url" DefaultValue="https://commandsimple.azurewebsites.net/FunctionFile.html" />
        <bt:Url id="Contoso.Taskpane1.Url" DefaultValue="https://commandsimple.azurewebsites.net/Taskpane.html" />
        <bt:Url id="Contoso.Taskpane2.Url" DefaultValue="https://commandsimple.azurewebsites.net/Taskpane2.html" />
      </bt:Urls>
      <!-- ShortStrings max characters=125. -->
      <bt:ShortStrings>
        <bt:String id="Contoso.FunctionButton.Label" DefaultValue="Execute Function" />
        <bt:String id="Contoso.TaskpaneButton.Label" DefaultValue="Show Task Pane" />
        <bt:String id="Contoso.Dropdown.Label" DefaultValue="Dropdown" />
        <bt:String id="Contoso.Item1.Label" DefaultValue="Show Task Pane 1" />
        <bt:String id="Contoso.Item2.Label" DefaultValue="Show Task Pane 2" />
        <bt:String id="Contoso.Tab1.GroupLabel" DefaultValue="Test Group" />
         <bt:String id="Contoso.Tab1.TabLabel" DefaultValue="Test Tab" />
      </bt:ShortStrings>
      <!-- LongStrings max characters=250. -->
      <bt:LongStrings>
        <bt:String id="Contoso.FunctionButton.Tooltip" DefaultValue="Click to execute function." />
        <bt:String id="Contoso.TaskpaneButton.Tooltip" DefaultValue="Click to show a task pane." />
        <bt:String id="Contoso.Dropdown.Tooltip" DefaultValue="Click to show options on this menu." />
        <bt:String id="Contoso.Item1.Tooltip" DefaultValue="Click to show Task Pane 1." />
        <bt:String id="Contoso.Item2.Tooltip" DefaultValue="Click to show Task Pane 2." />
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
  <!-- EndAddinCommandsMode integration. -->
</OfficeApp>

Valider un manifeste de complément Office

Pour plus d’informations sur la validation d’un manifeste par rapport à la XSD (XML Schema Definition), voir Valider le manifeste d’un complément Office.

Voir aussi