Complementos de Office con el manifiesto de solo complemento
En este artículo se presenta el manifiesto de complemento con formato XML solo para complementos de Office. Se supone que está familiarizado con el manifiesto de complementos de Office.
Sugerencia
Para obtener información general sobre el manifiesto unificado para Microsoft 365, consulte Complementos de Office con el manifiesto unificado para Microsoft 365.
Versiones de esquema
No todos los clientes de Office admiten las características más recientes y algunos usuarios de Office tendrán una versión anterior de Office. Tener versiones de esquema permite a los desarrolladores crear complementos que sean compatibles con versiones anteriores, con las últimas características que estén disponibles pero manteniendo el funcionamiento de las versiones anteriores.
El <elemento VersionOverrides> del manifiesto es un ejemplo de esto. Todos los elementos definidos dentro de< VersionOverrides> invalidarán el mismo elemento en la otra parte del manifiesto. Esto significa que, siempre que sea posible, Office usará lo que se encuentra en la <sección VersionOverrides> para configurar el complemento. Sin embargo, si la versión de Office no admite una versión determinada de <VersionOverrides>, Office la omitirá y dependerá de la información del resto del manifiesto.
Este enfoque significa que los desarrolladores no tienen que crear varios manifiestos, sino que deben definir todo en un archivo.
Las versiones actuales del esquema son:
Versión | Descripción |
---|---|
v1.0 | Admite la versión 1.0 de la API de JavaScript de Office. Por ejemplo, en los complementos de Outlook, esto admite el formulario de lectura. |
v1.1 | Admite la versión 1.1 de la API de JavaScript de Office y <VersionOverrides>. Por ejemplo, en los complementos de Outlook, esto agrega compatibilidad con el formulario de redacción. |
<VersionOverrides> 1.0 | Admite versiones posteriores de la API de JavaScript para Office. Admite comandos de complemento. |
<VersionOverrides> 1.1 | Solo es compatible con Outlook. Esta versión de <VersionOverrides> agrega compatibilidad con características más recientes, como paneles de tareas anclables y complementos móviles. |
Incluso si el manifiesto del complemento usa el <elemento VersionOverrides> , sigue siendo importante incluir los elementos de manifiesto v1.1 para permitir que el complemento funcione con clientes anteriores que no admiten <VersionOverrides>.
Nota:
Office usa un esquema para validar manifiestos. El esquema requiere que los elementos del manifiesto aparezcan en un orden específico. Si incluye elementos fuera del orden obligatorio, es posible que obtenga errores al transferir localmente el complemento. Vea Cómo encontrar el orden correcto de los elementos de manifiesto en el orden necesario.
Elementos requeridos
En la tabla siguiente se especifican los elementos necesarios para los tres tipos de complementos de Office.
Nota:
También hay un orden obligatorio en que deben aparecer los elementos dentro de su elemento primario. Para obtener más información, vea How to find the proper order of add-in only manifest elements.
Elementos requeridos por tipo de complemento de Office
Elemento | Contenido | Panel de tareas | Correo (Outlook) |
---|---|---|---|
OfficeApp | Obligatorio | Obligatorio | Obligatorio |
Id | Obligatorio | Obligatorio | Obligatorio |
Version | Obligatorio | Obligatorio | Obligatorio |
ProviderName | Obligatorio | Obligatorio | Obligatorio |
DefaultLocale | Obligatorio | Obligatorio | Obligatorio |
DisplayName | Obligatorio | Obligatorio | Obligatorio |
Descripción | Obligatorio | Obligatorio | Obligatorio |
SupportUrl** | Obligatorio | Obligatorio | Obligatorio |
DefaultSettings (ContentApp) DefaultSettings (TaskPaneApp) |
Obligatorio | Obligatorio | No disponible |
SourceLocation (ContentApp) SourceLocation (TaskPaneApp) SourceLocation (MailApp) |
Obligatorio | Obligatorio | Obligatorio |
DesktopSettings | No disponible | No disponible | Necesario |
Permissions (ContentApp) Permissions (TaskPaneApp) Permissions (MailApp) |
Obligatorio | Obligatorio | Obligatorio |
Rule (RuleCollection) Rule (MailApp) |
No disponible | No disponible | Necesario |
Requisitos (MailApp)* | No aplicable | No disponible | Obligatorio |
Set* Sets (Requirements)* Sets (MailAppRequirements)* |
Obligatorio | Obligatorio | Obligatorio |
Form* FormSettings* |
No disponible | No disponible | Necesario |
Hosts* | Obligatorio | Obligatorio | Opcional |
*Se agregó en el esquema de manifiesto del complemento de Office versión 1.1.
** SupportUrl solo es necesario para los complementos que se distribuyen a través de AppSource.
Elemento raíz
El elemento raíz del manifiesto del complemento de Office es <OfficeApp>. Este elemento también declara el espacio de nombres predeterminado, la versión del esquema y el tipo de complemento. Coloque los demás elementos en el manifiesto dentro de las etiquetas de apertura y cierre. A continuación se muestra un ejemplo del elemento raíz.
<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>
Versión
Esta es la versión del complemento específico. Si un desarrollador actualiza algo en el manifiesto, también se debe incrementar la versión. De este modo, cuando se instale el nuevo manifiesto, se sobrescribirá el anterior y el usuario podrá disfrutar de las funciones nuevas. Si este complemento se ha enviado a la tienda, el nuevo manifiesto tendrá que volver a enviarse y validarse. Después, los usuarios de este complemento obtendrán el nuevo manifiesto actualizado automáticamente en unas horas, después de su aprobación.
Si los permisos solicitados del complemento cambian, se solicitará a los usuarios que actualicen y vuelvan a otorgar su consentimiento para el complemento. Si el administrador ha instalado este complemento para toda la organización, el administrador tendrá que volver a otorgar su consentimiento primero. Los usuarios no podrán usar el complemento hasta que se conceda el consentimiento.
Hosts
Los complementos de Office especifican el <elemento Hosts> como el siguiente:
<OfficeApp>
...
<Hosts>
<Host Name="Mailbox" />
</Hosts>
...
</OfficeApp>
Esto es independiente del <elemento Hosts> dentro del <elemento VersionOverrides> , que se describe en Crear comandos de complemento con el manifiesto de solo complemento.
Especificar dominios seguros con el elemento AppDomains
Hay un elemento AppDomains del archivo de manifiesto de solo complemento que se usa para indicar a Office a qué dominios debe navegar el complemento. Como se indica en Especificar dominios que desea abrir en la ventana del complemento, al ejecutarse en Office en la Web, el panel de tareas se puede navegar a cualquier dirección URL. Sin embargo, en las plataformas de escritorio, si el complemento intenta ir a una dirección URL en un dominio distinto del dominio que hospeda la página de inicio (como se especifica en el elemento SourceLocation ), esa dirección URL se abre en una nueva ventana del explorador fuera del panel de complementos de la aplicación de Office.
Para invalidar este comportamiento (escritorio de Office), agregue cada dominio que quiera abrir en la ventana del complemento en la lista de dominios especificados en el <elemento AppDomains> . Si el complemento intenta ir a una dirección URL en un dominio que está en la lista, se abrirá en el panel de tareas de Office de escritorio y Office en la web. Si intenta ir a una dirección URL que no está en la lista, en office de escritorio esa dirección URL se abre en una nueva ventana del explorador (fuera del panel del complemento).
La siguiente tabla describe el comportamiento del explorador cuando su complemento intenta navegar a una URL fuera del dominio predeterminado del complemento.
Cliente de Office | ¿Dominio definido en AppDomains? | Comportamiento del explorador |
---|---|---|
Todos los clientes | Sí | El vínculo se abre en el panel de tareas del complemento. |
Office 2016 en Windows (con licencia por volumen perpetua) | No | El vínculo se abre en Internet Explorer 11. |
Otros clientes | No | El vínculo se abre en el explorador predeterminado del usuario. |
El siguiente ejemplo de manifiesto de solo complemento hospeda su página de complemento principal en el https://www.contoso.com
dominio tal como se especifica en el <elemento SourceLocation> . También especifica el https://www.northwindtraders.com
dominio en un elemento AppDomain dentro de la <lista de elementos AppDomains> . Si el complemento va a una página en el dominio www.northwindtraders.com
, esa página se abre en el panel de complementos, incluso en Office de escritorio.
<?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>
Invalidaciones de versión en el manifiesto
El elemento VersionOverrides opcional contiene marcado secundario que permite características adicionales del complemento. Algunas de estas son:
- Personalizar la cinta de opciones y los menús de Office.
- Personalizar el funcionamiento de Office con los tiempos de ejecución incrustados en los que se ejecutan los complementos.
- Configuración de cómo interactúa el complemento con Azure Active Directory y Microsoft Graph para el inicio de sesión único.
Algunos elementos descendientes de VersionOverrides
tienen valores que invalidan los valores del elemento primario OfficeApp
. Por ejemplo, el elemento Hosts
en VersionOverrides
reemplaza al elemento Hosts
en OfficeApp
.
El elemento VersionOverrides
tiene su propio esquema (en realidad, cuatro), según el tipo de complemento y las características que use. Los esquemas son:
Cuando se usa un elemento VersionOverrides
, el elemento OfficeApp
debe tener un atributo xmlns
que identifique el esquema adecuado. Los valores posibles del atributo son los siguientes:
http://schemas.microsoft.com/office/taskpaneappversionoverrides
http://schemas.microsoft.com/office/contentappversionoverrides
http://schemas.microsoft.com/office/mailappversionoverrides
El elemento VersionOverrides
debe tener también un atributo xmlns
que especifique el esquema. Los valores posibles son los tres anteriores y los siguientes:
http://schemas.microsoft.com/office/mailappversionoverrides/1.1
El elemento VersionOverrides
también debe tener un atributo xsi:type
que especifique la versión del esquema. Los valores posibles son los siguientes:
VersionOverridesV1_0
VersionOverridesV1_1
A continuación se muestran ejemplos de VersionOverrides
usados, respectivamente, en un complemento de panel de tareas y un complemento de correo. Tenga en cuenta que cuando se usa un correo VersionOverrides
con la versión 1.1, debe ser el último elemento secundario de un VersionOverrides
primario de tipo 1.0. Los valores de los elementos secundarios del VersionOverrides
interno reemplazan los valores de los elementos con el mismo nombre en el VersionOverrides
primario y el elemento OfficeApp
primario principal superior.
<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>
Para obtener un ejemplo de un manifiesto que incluye un elemento VersionOverrides
, consulte Ejemplos y esquemas de archivo XML de manifiesto XML v1.1.
Requisitos
El <elemento Requirements> especifica el conjunto de API disponibles para el complemento. Para obtener información detallada sobre los conjuntos de requisitos, vea Disponibilidad de conjuntos de requisitos de Office. Por ejemplo, en un complemento de Outlook, el conjunto de requisitos debe ser Mailbox y un valor de 1,1 o superior.
El <elemento Requirements> también puede aparecer en el <elemento VersionOverrides> , lo que permite al complemento especificar un requisito diferente cuando se carga en clientes que admiten <VersionOverrides>.
En el ejemplo siguiente se usa el atributo DefaultMinVersion del <elemento Sets> para requerir office.js versión 1.1 o posterior, y el atributo MinVersion del <elemento Set> para requerir la versión 1.1 del conjunto de requisitos mailbox.
<OfficeApp>
...
<Requirements>
<Sets DefaultMinVersion="1.1">
<Set Name="MailBox" MinVersion="1.1" />
</Sets>
</Requirements>
...
</OfficeApp>
Localización
Algunos aspectos del complemento deben estar localizados para distintas configuraciones regionales, como el nombre, la descripción y la dirección URL que se carga. Estos elementos se pueden localizar fácilmente especificando el valor predeterminado y, a continuación, invalidaciones de configuración regional en el <elemento Resources> dentro del <elemento VersionOverrides> . A continuación, se muestra cómo reemplazar una imagen, una dirección URL y una cadena:
<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 referencia de esquema contiene información completa sobre qué elementos se pueden localizar.
Ejemplos y esquemas de archivos XML de manifiesto versión 1.1
En las secciones siguientes se muestran ejemplos de archivos XML de manifiesto v1.1 para complementos de contenido, panel de tareas y correo (Outlook).
Esquemas de manifiesto de complementos
<?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>
Validar un manifiesto del complemento de Office
Para más información sobre cómo validar un manifiesto con la Definición del esquema XML (XSD), consulte Validar un manifiesto del complemento de Office.
Consulte también
- Cómo encontrar el orden correcto de los elementos de manifiesto de solo complemento
- Creación de comandos de complemento con el manifiesto de solo complemento
- Especificar las aplicaciones de Office y los requisitos de la API
- Localización de complementos para Office
- Referencia de esquema para manifiestos de complementos de Office XML
- Identificar un complemento COM equivalente
- Solicitar permisos para el uso de la API en los complementos
- Validar un manifiesto del complemento de Office