Estou tentando desenvolver um suplemento de conteúdo seguindo a documentação oficial . A seção de implementação afirma que apenas algumas alterações são necessárias:
- Para o elemento OfficeApp, defina o atributo xsi:type como "ContentApp".
- No
DefaultSettings
elemento, adicione os elementosRequestedHeight
eRequestedWidth
.
Na mesma seção, estão listados dois suplementos básicos baseados em conteúdo para PowerPoint e Excel, mas, infelizmente, eles são voltados para o Visual Studio e eu não tenho uma máquina Windows. Há também uma referência a um exemplo de 9 anos chamado Excel-Content-Add-in-Humongous-Insurance , cujo manifesto parece bastante desatualizado.
Decidi experimentar usar o Yeoman e o VScode. Como o yo office
escritório não oferece um starter para o Add-in baseado em conteúdo, optei por usar:
? Choose a project type: Office Add-in Task Pane project using React framework
? Choose a script type: TypeScript
? What do you want to name your add-in? my-content-addin
? Which Office client application would you like to support? Powerpoint
Seguindo a documentação listada acima, alterei o xsi:type
do OfficeApp
elemento para o ContentApp
e adicionei os elementos RequestedHeight
e RequestedWidth
ao DefaultSettings
elemento.
Além disso, notei que o manifesto Excel-Content-Add-in-Humongous-Insurance não tinha o seguinte esquema no OfficeApp:
xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides"
Verifiquei o repositório office-addin-manifest e não consegui encontrar uma alternativa para suplementos de conteúdo, por exemplo, .../contentappversionoverrides
. Encontrei apenas um .../mailappversionoverrides
.
Também notei que o manifesto Excel-Content-Add-in-Humongous-Insurance não tinha esse VersionOverrides
elemento, então o removi do meu arquivo gerado manifest.xml
. Então, terminei com:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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"
xsi:type="ContentApp">
<Id>9e2e38ec-67af-43e6-8aeb-c8c3e22b86bd</Id>
<Version>1.0.0.0</Version>
<ProviderName>Contoso</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="my-content-addin"/>
<Description DefaultValue="A template to get started."/>
<IconUrl DefaultValue="https://localhost:3000/assets/icon-32.png"/>
<HighResolutionIconUrl DefaultValue="https://localhost:3000/assets/icon-64.png"/>
<SupportUrl DefaultValue="https://www.contoso.com/help"/>
<AppDomains>
<AppDomain>https://www.contoso.com</AppDomain>
</AppDomains>
<Hosts>
<Host Name="Presentation"/>
</Hosts>
<DefaultSettings>
<SourceLocation DefaultValue="https://localhost:3000/taskpane.html"/>
<RequestedHeight>400</RequestedHeight>
<RequestedWidth>400</RequestedWidth>
</DefaultSettings>
<Permissions>ReadWriteDocument</Permissions>
</OfficeApp>
Depois disso, tentei validar o manifesto e recebi estes erros:
Error #1:
XML Schema Validation Error: Error found during XML Schema validation.
- Details: The element 'DefaultSettings' in namespace 'http://schemas.microsoft.com/office/appforoffice/1.1' has invalid child element 'RequestedWidth' in namespace 'http://schemas.microsoft.com/office/appforoffice/1.1'.
- Line: 25
- Column: 6
Error #2:
XML Schema Violation: Your manifest does not adhere to the current set of XML schema definitions for Office Add-in manifests.
Removi o módulo " , RequestedWidth
embora pareça conhecido " , e tentei novamente. Desta vez, o manifesto era válido. Então, executei e meu suplemento foi adicionado ao slide atual automaticamente.manifestHandlerXml.ts
office-addin-manifest
npm start
Este é meu manifest.xml final
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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"
xsi:type="ContentApp">
<Id>9e2e38ec-67af-43e6-8aeb-c8c3e22b86bd</Id>
<Version>1.0.0.0</Version>
<ProviderName>Contoso</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="my-content-addin"/>
<Description DefaultValue="A template to get started."/>
<IconUrl DefaultValue="https://localhost:3000/assets/icon-32.png"/>
<HighResolutionIconUrl DefaultValue="https://localhost:3000/assets/icon-64.png"/>
<SupportUrl DefaultValue="https://www.contoso.com/help"/>
<AppDomains>
<AppDomain>https://www.contoso.com</AppDomain>
</AppDomains>
<Hosts>
<Host Name="Presentation"/>
</Hosts>
<DefaultSettings>
<SourceLocation DefaultValue="https://localhost:3000/taskpane.html"/>
<RequestedHeight>400</RequestedHeight>
</DefaultSettings>
<Permissions>ReadWriteDocument</Permissions>
</OfficeApp>
Como posso especificar uma largura padrão para meu suplemento de conteúdo?
Como posso inserir meu suplemento somente quando clico em um comando da Faixa de Opções, como a demonstração padrão do Painel de Tarefas, que abre o painel de tarefas?
Na demonstração do Yeoman Taskpane, VersionOverrides
é necessário um esquema xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides"
.
Qual seria a alternativa para o Control
elemento de ação: <Action xsi:type="ShowTaskpane">
em um suplemento baseado em conteúdo?
O
<RequestedWidth>
tem que vir logo acima do<RequestedHeight>
.Não há como adicionar um botão à faixa de opções em um suplemento de conteúdo. O conteúdo é inserido no documento aberto do Office assim que o suplemento é instalado.