Элемент ExtensionPoint
Определяет, где доступны функции надстройки в пользовательском интерфейсе Office. Элемент <ExtensionPoint> является дочерним элементом AllFormFactors, DesktopFormFactor или MobileFormFactor.
Тип надстройки: Область задач, почта
Допустимо только в следующих схемах VersionOverrides:
- Область задач 1.0
- Почта 1.0
- Почта 1.1
Дополнительные сведения см. в разделе Переопределения версий в манифесте только надстройки.
Атрибуты
Атрибут | Обязательный | Описание |
---|---|---|
xsi:type | Да | Тип определяемой точки расширения. Возможные значения зависят от ведущего приложения Office, определенного в значении элемента grandparent< Host>. |
Точки расширения для команд надстроек Excel, OneNote, PowerPoint и Word
На некоторых или всех этих узлах доступны три типа точек расширения.
- PrimaryCommandSurface (допустимо для Word, Excel, PowerPoint и OneNote) — лента в Office.
- ContextMenu (допустимо для Word, Excel, PowerPoint и OneNote) — контекстное меню, которое появляется при щелчке правой кнопкой мыши (или выборе и удержании) в пользовательском интерфейсе Office.
- CustomFunctions (допустимо только для Excel) — настраиваемая функция, написанная на JavaScript для Excel.
Дочерние элементы и примеры таких типов точек расширения см. в следующих подразделах.
PrimaryCommandSurface
Основной областью команд в Word, Excel, PowerPoint и OneNote является лента.
Дочерние элементы
Элемент | Описание |
---|---|
CustomTab | Обязательный, если требуется добавить пользовательскую вкладку в ленту (с помощью элемента PrimaryCommandSurface). Если вы используете <элемент CustomTab> , вы не можете использовать <элемент OfficeTab> . Атрибут id является обязательным. Может быть не более одного дочернего <элемента CustomTab> . |
OfficeTab | Требуется, если вы хотите расширить вкладку ленты приложения Office по умолчанию (с помощью PrimaryCommandSurface). Если вы используете <элемент OfficeTab> , вы не можете использовать <элемент CustomTab> . |
Важно!
В надстройке может быть не более одного <элемента ExtensionPoint> с дочерним <элементом CustomTab>, а у одного <элемента ExtensionPoint> может быть только один <элемент CustomTab>, поэтому во всех <элементах ExtensionPoint> имеется только один <элемент CustomTab>.
Пример
В следующем примере показано, как использовать <элемент ExtensionPoint> с PrimaryCommandSurface. Она добавляет настраиваемую вкладку на ленту.
Важно!
Убедитесь, что для элементов, которые содержат атрибут 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>
<Control xsi:type="Button" id="Contoso.Button1">
<!-- information about the control -->
</Control>
<!-- other controls, as needed -->
</Group>
</CustomTab>
</ExtensionPoint>
ContextMenu
Контекстное меню — это контекстное меню, которое появляется при щелчке правой кнопкой мыши (или выборе и удержании) в пользовательском интерфейсе Office.
Дочерние элементы
Элемент | Описание |
---|---|
OfficeMenu | Обязательный при добавлении команд надстройки в контекстное меню по умолчанию (с помощью элемента ContextMenu). Атрибут id должен иметь одну из следующих строк.
|
Пример
Ниже настраивается контекстное меню, открытое в выделенном тексте в поддерживаемом приложении Office. Обратите внимание, что дочерний элемент управления должен иметь тип Button.
<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>
Настраиваемые функции
Пользовательская функция, написанная на JavaScript или TypeScript для Excel.
Дочерние элементы
Элемент | Описание |
---|---|
Script | Обязательно. Ссылки на файл JavaScript с определением и кодом регистрации пользовательской функции. |
Page | Обязательно. Ссылка на HTML-страницу для пользовательских функций. |
Метаданные | Обязательно. Определяет параметры метаданных, используемые пользовательской функцией в Excel. |
Namespace | Необязательный параметр. Определяет пространство имен, используемых пользовательской функцией в Excel. |
Пример
<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>
Точки расширения для Outlook
- MessageReadCommandSurface
- MessageComposeCommandSurface
- AppointmentOrganizerCommandSurface
- AppointmentAttendeeCommandSurface
- Модуль (может использоваться только в DesktopFormFactor)
- MobileMessageReadCommandSurface
- MobileOnlineMeetingCommandSurface
- MobileLogEventAppointmentAttendee
- LaunchEvent
- Events
- DetectedEntity
- ReportPhishingCommandSurface
MessageReadCommandSurface
Эта точка расширения помещает кнопки на панель команд для чтения почты. В классической версии Outlook эта панель отображается на ленте.
Дочерние элементы
Элемент | Описание |
---|---|
OfficeTab | Добавляет команды на вкладку ленты по умолчанию. |
CustomTab | Добавляет команды на специальную вкладку ленты. |
Пример элемента OfficeTab
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<OfficeTab id="TabDefault">
<-- OfficeTab Definition -->
</OfficeTab>
</ExtensionPoint>
Пример элемента CustomTab
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<CustomTab id="Contoso.TabCustom2">
<-- CustomTab Definition -->
</CustomTab>
</ExtensionPoint>
MessageComposeCommandSurface
Эта точка расширения добавляет кнопки на ленту для надстроек, использующих форму создания сообщения.
Дочерние элементы
Элемент | Описание |
---|---|
OfficeTab | Добавляет команды на вкладку ленты по умолчанию. |
CustomTab | Добавляет команды на специальную вкладку ленты. |
Пример элемента OfficeTab
<ExtensionPoint xsi:type="MessageComposeCommandSurface">
<OfficeTab id="TabDefault">
<-- OfficeTab Definition -->
</OfficeTab>
</ExtensionPoint>
Пример элемента CustomTab
<ExtensionPoint xsi:type="MessageComposeCommandSurface">
<CustomTab id="Contoso.TabCustom3">
<-- CustomTab Definition -->
</CustomTab>
</ExtensionPoint>
AppointmentOrganizerCommandSurface
Эта точка расширения добавляет кнопки на ленту для формы, предназначенной для организатора собрания.
Дочерние элементы
Элемент | Описание |
---|---|
OfficeTab | Добавляет команды на вкладку ленты по умолчанию. |
CustomTab | Добавляет команды на специальную вкладку ленты. |
Пример элемента OfficeTab
<ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
<OfficeTab id="TabDefault">
<-- OfficeTab Definition -->
</OfficeTab>
</ExtensionPoint>
Пример элемента CustomTab
<ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
<CustomTab id="Contoso.TabCustom4">
<-- CustomTab Definition -->
</CustomTab>
</ExtensionPoint>
AppointmentAttendeeCommandSurface
Эта точка расширения добавляет кнопки на ленту для формы, предназначенной для участника собрания.
Дочерние элементы
Элемент | Описание |
---|---|
OfficeTab | Добавляет команды на вкладку ленты по умолчанию. |
CustomTab | Добавляет команды на специальную вкладку ленты. |
Пример элемента OfficeTab
<ExtensionPoint xsi:type="AppointmentAttendeeCommandSurface">
<OfficeTab id="TabDefault">
<-- OfficeTab Definition -->
</OfficeTab>
</ExtensionPoint>
Пример элемента CustomTab
<ExtensionPoint xsi:type="AppointmentAttendeeCommandSurface">
<CustomTab id="Contoso.TabCustom5">
<-- CustomTab Definition -->
</CustomTab>
</ExtensionPoint>
Module
Эта точка расширения добавляет кнопки на ленту для расширения модуля.
Важно!
Регистрация событий почтовых ящиков и элементов недоступна в этой точке расширения.
Дочерние элементы
Элемент | Описание |
---|---|
OfficeTab | Добавляет команды на вкладку ленты по умолчанию. |
CustomTab | Добавляет команды на специальную вкладку ленты. |
MobileMessageReadCommandSurface
Эта точка расширения помещает кнопки на панель команд для чтения почты в форм-факторе мобильного устройства.
Дочерние элементы
Элемент | Описание |
---|---|
Group | Добавляет группу кнопок на панель команд. |
<Элементы ExtensionPoint> этого типа могут иметь только один дочерний <элемент: элемент Group> .
<Элементы управления> , содержащиеся в этой точке расширения, должны иметь атрибут xsi:type , равный MobileButton
.
Пример
<ExtensionPoint xsi:type="MobileMessageReadCommandSurface">
<Group id="Contoso.mobileGroup1">
<Label resid="residAppName"/>
<Control xsi:type="MobileButton" id="Contoso.mobileButton1">
<!-- Control definition -->
</Control>
</Group>
</ExtensionPoint>
MobileOnlineMeetingCommandSurface
Эта точка расширения помещает соответствующий режим переключатель в области команд для встречи в форм-факторе мобильного устройства. Организатор собрания может создать собрание по сети. Участник может впоследствии присоединиться к собранию по сети. Дополнительные сведения об этом сценарии см. в статье Создание мобильной надстройки Outlook для поставщика собраний по сети.
Примечание.
Эта точка расширения поддерживается только в Android и iOS с подпиской Microsoft 365.
Регистрация событий почтовых ящиков и элементов недоступна в этой точке расширения.
Дочерние элементы
Элемент | Описание |
---|---|
Control | Добавляет кнопку в область команд. |
<Элементы ExtensionPoint> этого типа могут иметь только один дочерний <элемент: элемент Control> .
Элемент <Control> , содержащийся в этой точке расширения, должен иметь атрибут xsi:type , равный MobileButton
.
Изображения, указанные в элементе <Icon> , должны быть в оттенках серого с использованием шестнадцатеричного кода #919191
или его эквивалента в других цветовых форматах.
Пример
<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
Эта точка расширения помещает кнопку действия журнала в область команд для встречи в форм-факторе мобильного устройства. Участники встреч, у которых установлена надстройка, могут сохранять заметки о встрече во внешнем приложении одним щелчком мыши. Эта точка расширения поддерживает функциональные возможности для команд области задач и функций. Дополнительные сведения об этом сценарии см. в статье Ведение примечаний о встречах во внешнем приложении в надстройках Outlook для мобильных устройств.
Примечание.
Эта точка расширения поддерживается только в Android и iOS с подпиской Microsoft 365.
Регистрация событий почтовых ящиков и элементов недоступна в этой точке расширения.
Дочерние элементы
Элемент | Описание |
---|---|
Control | Добавляет кнопку в область команд. |
<Элементы ExtensionPoint> этого типа могут иметь только один дочерний <элемент: элемент Control> .
Элемент <Control> , содержащийся в этой точке расширения, должен иметь атрибут xsi:type , равный MobileButton
.
Изображения, указанные в элементе <Icon> , должны быть в оттенках серого с использованием шестнадцатеричного кода #919191
или его эквивалента в других цветовых форматах.
Пример
<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
Эта точка расширения позволяет надстройке активироваться на основе поддерживаемых событий в форм-факторах настольных и мобильных устройств. Дополнительные сведения об активации на основе событий и полный список поддерживаемых событий см. в статье Настройка надстройки Outlook для активации на основе событий.
Важно!
Регистрация событий почтовых ящиков и элементов недоступна в этой точке расширения.
Дочерние элементы
Элемент | Описание |
---|---|
LaunchEvents | Список LaunchEvent для активации на основе событий. |
SourceLocation | Расположение исходного файла JavaScript. |
Пример
<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>
События
Эта точка расширения добавляет обработчик для указанного события. Дополнительные сведения об использовании этой точки расширения см . в разделе Функция при отправке для надстроек Outlook.
Важно!
Регистрация событий почтовых ящиков и элементов недоступна в этой точке расширения.
Примечание.
Smart Alerts, которая является более новой версией функции при отправке, использует точку расширения LaunchEvent для активации событий в надстройке. Дополнительные сведения о ключевых различиях между интеллектуальными оповещениями и функцией при отправке см. в статье Различия между интеллектуальными оповещениями и функцией при отправке. Мы предлагаем вам опробовать интеллектуальные оповещения, выполнив пошаговое руководство.
Элемент | Описание |
---|---|
Event | Задает событие и функцию его обработчика. |
Пример события ItemSend
<ExtensionPoint xsi:type="Events">
<Event Type="ItemSend" FunctionExecution="synchronous" FunctionName="itemSendHandler" />
</ExtensionPoint>
DetectedEntity
Эта точка расширения добавляет активацию контекстной надстройки для указанного типа сущности. Дополнительные сведения об использовании этой точки расширения см. в разделе Контекстные надстройки Outlook.
Важно!
Контекстные надстройки Outlook на основе сущностей теперь сняты с учета. В качестве альтернативного решения реализуйте правила регулярных выражений в контекстной надстройке. Инструкции по реализации этих правил см. в разделе Контекстные надстройки Outlook.
Содержащий элемент VersionOverrides должен иметь значение атрибута xsi:type , равное VersionOverridesV1_1
.
Примечание.
- Этот тип элемента доступен в клиентах Outlook, поддерживающих наборы обязательных требований 1.6 и более поздних версий.
- Регистрация событий почтовых ящиков и элементов недоступна в этой точке расширения.
Элемент | Описание |
---|---|
Label | Задает метку для надстройки в контекстном окне. |
SourceLocation | Задает URL-адрес контекстного окна. |
Rule | Задает одно или несколько правил, определяющих, когда активируется надстройка. |
Label
Обязательный элемент. Метка группы. Атрибут resid может содержать не более 32 символов и должен иметь значение атрибута<id элемента String> в <элементе ShortStrings> в элементе Resources .
Требования к выделению
Единственный способ, которым пользователь может активировать контекстную надстройку, — взаимодействие с выделенной сущностью. Разработчики могут управлять выделенными сущностями с помощью атрибута <Highlight элемента Rule> для ItemHasRegularExpressionMatch
типа правила.
Однако следует учитывать некоторые ограничения. Они гарантируют, что в соответствующих сообщениях и встречах всегда есть выделенная сущность, с помощью которой пользователь может активировать надстройку.
- При использовании одного правила атрибуту Highlight должно быть присвоено значение
all
. - Если используется
RuleCollection
тип правила с дляMode="And"
объединения нескольких правил, по крайней мере для одного из правил атрибуту Highlight должно быть присвоено значениеall
. - Если используется
RuleCollection
тип правила сMode="Or"
для объединения нескольких правил, для всех правил атрибуту Highlight должно быть присвоено значениеall
.
Пример события 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
Эта точка расширения активирует надстройку, сообщающую о спаме, на ленте Outlook и предотвращает ее появление в конце ленты или в меню переполнения.
Дополнительные сведения о том, как реализовать функцию создания отчетов о спаме в надстройке, см. в статье Реализация интегрированной надстройки отчетов о нежелательной почте.
Дочерние элементы
Элемент | Описание |
---|---|
Элемент ReportPhishingCustomization | Настраивает кнопку ленты и диалоговое окно предварительной обработки надстройки, сообщающей о спаме. |
Пример
<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>
Office Add-ins