Elemento ExtensionPoint
Define onde um suplemento expõe a funcionalidade na interface de usuário do Office. O <elemento ExtensionPoint> é um elemento filho de AllFormFactors, DesktopFormFactor ou MobileFormFactor.
Tipo de suplemento: Painel de tarefas, Email
Válido somente nestes esquemas VersionOverrides:
- Painel de tarefas 1.0
- Email 1.0
- Email 1.1
Para obter mais informações, consulte Substituições de versão no manifesto.
Atributos
Atributo | Obrigatório | Descrição |
---|---|---|
xsi:type | Sim | O tipo de ponto de extensão que está sendo definido. Os valores possíveis dependem do aplicativo host do Office definido no valor do <elemento host> avô. |
Pontos de extensão para comandos de suplemento do Excel, OneNote, PowerPoint e Word
Há três tipos de pontos de extensão disponíveis em alguns ou em todos esses hosts.
- PrimaryCommandSurface (válido para Word, Excel, PowerPoint e OneNote) – a faixa de opções no Office.
- ContextMenu (Válido para Word, Excel, PowerPoint e OneNote) – O menu de atalho que aparece quando você seleciona e segura (ou clica com o botão direito do mouse) na interface do usuário do Office.
- CustomFunctions (válido apenas para Excel) – uma função personalizada escrita no JavaScript para Excel.
Consulte as subseções a seguir para os elementos filho e exemplos desses tipos de pontos de extensão.
PrimaryCommandSurface
A superfície de comando principal em Word, Excel, PowerPoint e OneNote é a faixa de opções.
Elementos filho
Elemento | Descrição |
---|---|
CustomTab | Obrigatório se você quiser adicionar uma guia personalizada à faixa de opções (usando PrimaryCommandSurface). Se você usar o <elemento CustomTab> , não poderá usar o <elemento OfficeTab> . O atributo id é obrigatório. Não pode haver mais do que um <elemento filho CustomTab> . |
OfficeTab | Necessário se você quiser estender uma guia de faixa de opções de aplicativo do Office padrão (usando PrimaryCommandSurface). Se você usar o <elemento OfficeTab> , não poderá usar o <elemento CustomTab> . |
Importante
Não pode haver mais do que um <elemento ExtensionPoint> no suplemento que tem um elemento CustomTab> filho<; e que um <elemento ExtensionPoint> pode ter apenas um <CustomTab>, portanto, há apenas um <elemento CustomTab> em todos os <elementos do ExtensionPoint>.
Exemplo
O exemplo a seguir mostra como usar o <elemento ExtensionPoint> com PrimaryCommandSurface. Ele adiciona uma guia personalizada à faixa de opções.
Importante
Forneça uma ID exclusiva para os elementos que contêm um atributo 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>
<Tooltip resid="residToolTip" />
<Control xsi:type="Button" id="Contoso.Button1">
<!-- information about the control -->
</Control>
<!-- other controls, as needed -->
</Group>
</CustomTab>
</ExtensionPoint>
Contextmenu
Um menu de contexto é um menu de atalho que aparece quando você clica com o botão direito do mouse na interface do usuário do Office.
Elementos filho
Elemento | Descrição |
---|---|
OfficeMenu | Obrigatório se você estiver adicionando comandos de suplemento a um menu de contexto padrão (usando ContextMenu). O atributo id deve ser definido como uma das seguintes cadeias de caracteres: - ContextMenuText se o menu de contexto deve ser aberto quando um usuário clicar com o botão direito do mouse no texto selecionado. - ContextMenuCell se o menu de contexto deve ser aberto quando o usuário clicar com o botão direito do mouse em uma célula em uma planilha do Excel. |
Exemplo
A seguir, adiciona um menu de contexto personalizado às células em uma planilha do Excel.
<ExtensionPoint xsi:type="ContextMenu">
<OfficeMenu id="ContextMenuCell">
<Control xsi:type="Menu" id="Contoso.ContextMenu2">
<!-- information about the control -->
</Control>
<!-- other controls, as needed -->
</OfficeMenu>
</ExtensionPoint>
CustomFunctions
Uma função personalizada escrita em JavaScript ou TypeScript para Excel.
Elementos filho
Elemento | Descrição |
---|---|
Script | Obrigatório. Links para o arquivo JavaScript com a definição e o código de registro da função personalizada. |
Page | Obrigatório. Links para a página HTML de suas funções personalizadas. |
Metadados | Obrigatório. Define as configurações de metadados usados por uma função personalizada no Excel. |
Namespace | Opcional. Define o namespace usado por uma função personalizada no Excel. |
Exemplo
<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>
Pontos de extensão para Outlook
- MessageReadCommandSurface
- MessageComposeCommandSurface
- AppointmentOrganizerCommandSurface
- AppointmentAttendeeCommandSurface
- Módulo (só pode ser usado no DesktopFormFactor)
- MobileMessageReadCommandSurface
- MobileOnlineMeetingCommandSurface
- MobileLogEventAppointmentAttendee
- LaunchEvent
- Eventos
- DetectedEntity
- ReportPhishingCommandSurface (versão prévia)
MessageReadCommandSurface
Este ponto de extensão coloca os botões na superfície de comando para o modo de exibição de leitura de email. No Outlook para área de trabalho, isso aparece na faixa de opções.
Elementos filho
Elemento | Descrição |
---|---|
OfficeTab | Adiciona os comandos à guia da faixa de opções padrão. |
CustomTab | Adiciona os comandos à guia da faixa de opções personalizada. |
Exemplo de OfficeTab
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<OfficeTab id="TabDefault">
<-- OfficeTab Definition -->
</OfficeTab>
</ExtensionPoint>
Exemplo de CustomTab
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<CustomTab id="Contoso.TabCustom2">
<-- CustomTab Definition -->
</CustomTab>
</ExtensionPoint>
MessageComposeCommandSurface
Este ponto de extensão coloca botões na faixa de opções para suplementos que usam o formulário de composição de email.
Elementos filho
Elemento | Descrição |
---|---|
OfficeTab | Adiciona os comandos à guia da faixa de opções padrão. |
CustomTab | Adiciona os comandos à guia da faixa de opções personalizada. |
Exemplo de OfficeTab
<ExtensionPoint xsi:type="MessageComposeCommandSurface">
<OfficeTab id="TabDefault">
<-- OfficeTab Definition -->
</OfficeTab>
</ExtensionPoint>
Exemplo de CustomTab
<ExtensionPoint xsi:type="MessageComposeCommandSurface">
<CustomTab id="Contoso.TabCustom3">
<-- CustomTab Definition -->
</CustomTab>
</ExtensionPoint>
AppointmentOrganizerCommandSurface
Este ponto de extensão coloca botões na faixa de opções para o formulário exibido ao organizador da reunião.
Elementos filho
Elemento | Descrição |
---|---|
OfficeTab | Adiciona os comandos à guia da faixa de opções padrão. |
CustomTab | Adiciona os comandos à guia da faixa de opções personalizada. |
Exemplo de OfficeTab
<ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
<OfficeTab id="TabDefault">
<-- OfficeTab Definition -->
</OfficeTab>
</ExtensionPoint>
Exemplo de CustomTab
<ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
<CustomTab id="Contoso.TabCustom4">
<-- CustomTab Definition -->
</CustomTab>
</ExtensionPoint>
AppointmentAttendeeCommandSurface
Este ponto de extensão coloca botões na faixa de opções para o formulário exibido ao participante da reunião.
Elementos filho
Elemento | Descrição |
---|---|
OfficeTab | Adiciona os comandos à guia da faixa de opções padrão. |
CustomTab | Adiciona os comandos à guia da faixa de opções personalizada. |
Exemplo de OfficeTab
<ExtensionPoint xsi:type="AppointmentAttendeeCommandSurface">
<OfficeTab id="TabDefault">
<-- OfficeTab Definition -->
</OfficeTab>
</ExtensionPoint>
Exemplo de CustomTab
<ExtensionPoint xsi:type="AppointmentAttendeeCommandSurface">
<CustomTab id="Contoso.TabCustom5">
<-- CustomTab Definition -->
</CustomTab>
</ExtensionPoint>
Module
Este ponto de extensão coloca botões na faixa de opções para a extensão do módulo.
Importante
O registro de eventosde caixa de correio e item não está disponível com este ponto de extensão.
Elementos filho
Elemento | Descrição |
---|---|
OfficeTab | Adiciona os comandos à guia da faixa de opções padrão. |
CustomTab | Adiciona os comandos à guia da faixa de opções personalizada. |
MobileMessageReadCommandSurface
Este ponto de extensão coloca os botões na superfície de comando para o modo de exibição de leitura de email no fator forma móvel.
Elementos filho
Elemento | Descrição |
---|---|
Group | Adiciona um grupo de botões à superfície de comando. |
<Elementos do ExtensionPoint> desse tipo só podem ter um elemento filho: um <elemento Group> .
<Os> elementos de controle contidos neste ponto de extensão devem ter o atributo xsi:type definido como MobileButton
.
Exemplo
<ExtensionPoint xsi:type="MobileMessageReadCommandSurface">
<Group id="Contoso.mobileGroup1">
<Label resid="residAppName"/>
<Control xsi:type="MobileButton" id="Contoso.mobileButton1">
<!-- Control definition -->
</Control>
</Group>
</ExtensionPoint>
MobileOnlineMeetingCommandSurface
Esse ponto de extensão coloca um alternância apropriado para modo na superfície de comando para um compromisso no fator de formulário móvel. Um organizador de reunião pode criar uma reunião online. Posteriormente, um participante pode ingressar na reunião online. Para saber mais sobre esse cenário, consulte Criar um suplemento móvel do Outlook para um provedor de reunião online.
Observação
Esse ponto de extensão só tem suporte no Android e no iOS com uma assinatura do Microsoft 365.
O registro de eventosde caixa de correio e item não está disponível com este ponto de extensão.
Elementos filho
Elemento | Descrição |
---|---|
Control | Adiciona um botão à superfície de comando. |
<Elementos do ExtensionPoint> desse tipo só podem ter um elemento filho: um <elemento Control> .
O <elemento Control> contido neste ponto de extensão deve ter o atributo xsi:type definido como MobileButton
.
As imagens especificadas no <elemento Icon> devem estar em escala de cinza usando código #919191
hex ou equivalente em outros formatos de cor.
Exemplo
<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
Esse ponto de extensão coloca um botão de ação log contextualmente na superfície de comando para um compromisso no fator de formulário móvel. Os participantes de compromisso que têm o suplemento instalado podem salvar suas anotações de compromisso em um aplicativo externo em um clique. Esse ponto de extensão dá suporte à funcionalidade para comandos de função e painel de tarefas. Para saber mais sobre esse cenário, confira Notas de compromisso de log para um aplicativo externo nos suplementos móveis do Outlook.
Observação
Esse ponto de extensão só tem suporte no Android e no iOS com uma assinatura do Microsoft 365.
O registro de eventosde caixa de correio e item não está disponível com este ponto de extensão.
Elementos filho
Elemento | Descrição |
---|---|
Control | Adiciona um botão à superfície de comando. |
<Elementos do ExtensionPoint> desse tipo só podem ter um elemento filho: um <elemento Control> .
O <elemento Control> contido neste ponto de extensão deve ter o atributo xsi:type definido como MobileButton
.
As imagens especificadas no <elemento Icon> devem estar em escala de cinza usando código #919191
hex ou equivalente em outros formatos de cor.
Exemplo
<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
Esse ponto de extensão permite que um suplemento seja ativado com base em eventos com suporte na área de trabalho e nos fatores de formulário móvel. Para saber mais sobre a ativação baseada em eventos e a lista completa de eventos com suporte, consulte Configurar o suplemento do Outlook para ativação baseada em eventos.
Importante
O registro de eventosde caixa de correio e item não está disponível com este ponto de extensão.
Elementos filho
Elemento | Descrição |
---|---|
LaunchEvents | Lista de LaunchEvent para ativação baseada em eventos. |
SourceLocation | O local do arquivo JavaScript de origem. |
Exemplo
<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>
Eventos
Este ponto de extensão adiciona um manipulador de eventos para um evento especificado. Para obter mais informações sobre como usar esse ponto de extensão, consulte Recurso de envio para suplementos do Outlook.
Importante
O registro de eventosde caixa de correio e item não está disponível com este ponto de extensão.
Observação
Os Alertas Inteligentes, que é uma versão mais recente do recurso de envio, usam o ponto de extensão LaunchEvent para habilitar a ativação de eventos em um suplemento. Para saber mais sobre as principais diferenças entre alertas inteligentes e o recurso de envio, confira Diferenças entre alertas inteligentes e o recurso de envio. Convidamos você a experimentar alertas inteligentes concluindo o passo a passo.
Elemento | Descrição |
---|---|
Event | Especifica o evento e a função de manipulador de eventos. |
Exemplo do evento ItemSend
<ExtensionPoint xsi:type="Events">
<Event Type="ItemSend" FunctionExecution="synchronous" FunctionName="itemSendHandler" />
</ExtensionPoint>
DetectedEntity
Este ponto extensão adiciona uma ativação do suplemento contextual em um tipo de entidade especificada. Para obter mais informações sobre como usar esse ponto de extensão, consulte Suplementos contextuais do Outlook.
Importante
Os suplementos contextuais do Outlook baseados em entidade serão desativados no segundo trimestre de 2024. O trabalho para aposentar esse recurso começará em maio e continuará até o final de junho. Após junho, os suplementos contextuais não poderão mais detectar entidades em itens de email para executar tarefas neles. As APIs a seguir também serão retiradas.
- Office.context.mailbox.item.getEntities()
- Office.context.mailbox.item.getEntitiesByType(entityType)
- Office.context.mailbox.item.getFilteredEntitiesByName(name)
- Office.context.mailbox.item.getSelectedEntities()
Para ajudar a minimizar possíveis interrupções, o seguinte ainda será suportado depois que os suplementos contextuais baseados em entidade forem retirados.
- Uma implementação alternativa do botão Ingressar Reunião , que é ativado por suplementos de reunião online, está sendo desenvolvida. Depois que o suporte para suplementos contextuais baseados em entidade terminar, os suplementos de reunião online farão a transição automática para a implementação alternativa para ativar o botão Ingressar Reunião .
- As regras de expressão regular continuarão a ser suportadas depois que os suplementos contextuais baseados em entidade forem retirados. Recomendamos atualizar seu suplemento contextual para usar regras de expressão regulares como uma solução alternativa. Para obter diretrizes sobre como implementar essas regras, consulte Usar regras regulares de ativação de expressão para mostrar um suplemento do Outlook.
Para obter mais informações, consulte Aposentadoria de suplementos contextuais do Outlook baseados em entidade.
O elemento VersionOverrides contendo deve ter um valor de atributo xsi:type de VersionOverridesV1_1
.
Observação
- Este tipo de elemento está disponível para clientes do Outlook que ofereçam suporte a conjuntos de requisitos 1.6 e posteriores.
- O registro de eventosde caixa de correio e item não está disponível com este ponto de extensão.
Elemento | Descrição |
---|---|
Label | Especifica o rótulo para o suplemento na janela contextual. |
SourceLocation | Especifica a URL para a janela contextual. |
Rule | Especifica a regra ou regras que determinam quando um suplemento é ativado. |
Label
Obrigatório. O rótulo do grupo. O atributo resid não pode ter mais de 32 caracteres e deve ser definido como o valor do atributo id de um <elemento String> no <elemento ShortStrings> no elemento Resources .
Requisitos de realce
A única maneira que um usuário pode ativar um suplemento contextual é interagir com uma entidade realçada. Os desenvolvedores podem controlar quais entidades são realçadas usando o atributo Highlight do <elemento Rule> para ItemHasKnownEntity
e ItemHasRegularExpressionMatch
tipos de regra.
No entanto, há algumas limitações que devem ser consideradas. Essas limitações são para garantir que sempre haverá uma entidade realçada em compromissos ou mensagens aplicáveis para oferecer ao usuário uma maneira de ativar o suplemento.
- Os tipos de entidade
EmailAddress
eUrl
não podem ser realçados e, portanto, não podem ser usados para ativar um suplemento. - Se estiver usando uma única regra, o atributo Highlight DEVE ser definido como
all
. - Se usar um tipo de
RuleCollection
regra comMode="AND"
para combinar várias regras, pelo menos uma das regras DEVE ter o atributo Highlight definido comoall
. - Se usar um
RuleCollection
tipo de regra comMode="OR"
para combinar várias regras, todas as regras DEVEM ter o atributo Highlight definido comoall
.
Exemplo do evento DetectedEntity
<ExtensionPoint xsi:type="DetectedEntity">
<Label resid="residLabelName"/>
<!--If you opt to include RequestedHeight, it must be between 140px to 450px, inclusive.-->
<!--<RequestedHeight>360</RequestedHeight>-->
<SourceLocation resid="residDetectedEntityURL" />
<Rule xsi:type="RuleCollection" Mode="And">
<Rule xsi:type="ItemIs" ItemType="Message" />
<Rule xsi:type="ItemHasKnownEntity" EntityType="MeetingSuggestion" Highlight="all" />
<Rule xsi:type="ItemHasKnownEntity" EntityType="Address" Highlight="none" />
</Rule>
</ExtensionPoint>
ReportPhishingCommandSurface (versão prévia)
Esse ponto de extensão ativa o suplemento de relatório de spam na faixa de opções do Outlook e impede que ele apareça no final da faixa de opções ou no menu de estouro.
Para saber mais sobre como implementar o recurso de relatório de spam em seu suplemento, confira Implementar um suplemento integrado de relatório de spam (versão prévia).
Elementos filho
Elemento | Descrição |
---|---|
Elemento ReportPhishingCustomization (versão prévia) | Configura o botão de faixa de opções e a caixa de diálogo de pré-processamento de um suplemento de relatório de spam. |
Exemplo
<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>
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de