Настраиваемые шаблоны Word
В этом разделе описываются пользовательские шаблоны автоматизации пользовательского интерфейса, предоставляемые в Microsoft Word для Windows. Эти шаблоны можно запрашивать и использовать из узла поставщика с текстовым шаблоном.
В целях экспериментов мы создали специальные скрипты PowerShell в коллекция PowerShell, которые осуществляют каждый Word пользовательского шаблона. Они явно называются с каждым шаблоном, или вы можете найтиCustomPatternClient_Word
, чтобы просмотреть все скрипты Word. Эти скрипты можно запустить в окне PowerShell для работающего экземпляра Word на Windows 11, чтобы узнать, какие выходные данные создают пользовательские шаблоны. Скрипты самостоятельно документируются с помощью справки на основе комментариев.
Цель этих шаблонов main заключается в предоставлении дополнительных сведений о Word содержимом и выполнении действий, которые не могут быть достигнуты с помощью существующих интерфейсов автоматизации пользовательского интерфейса. Пользовательские шаблоны можно применять к любому элементу, присутствуют в иерархии специальных возможностей. С элементом могут быть один или несколько пользовательских шаблонов, которые можно определить по собственному GUID.
Существует 3 фиксированных входных операнда для каждого вызова метода пользовательского шаблона.
Оператор | Тип | Описание |
---|---|---|
0 | ConnectBoundObject | Объект Pattern |
1 | GUID | GUID метода |
2 | Int32 | Общее количество входных и выходных аргументов |
Каждый описанный здесь метод возвращает HRESULT для CallExtension, указывающий на успех или сбой. Успешная операция возвращает S_OK, а неудачная операция даст UIA_E_INVALIDOPERATON.
Guid: {93514122-FF04-4B2C-A4AD-4AB04587C129}
Это шаблон для текстовых диапазонов и применяется к узлам Word в иерархии специальных возможностей, которая имеет набор шаблонов текста. ITextRangeCustomProvider предоставляет дополнительный набор методов, применимых к текстовым диапазонам. Клиенты могут запрашивать GetEnlcosingElement для текстового диапазона и использовать идентификатор GUID пользовательского шаблона для проверка, если элемент поддерживает пользовательский шаблон.
CustomPatternClient_Word_TextRangeProvider.ps1
GetCustomAttributeValue
Guid: {081ACA91-32F2-46F0-9FB9-017038BC45F8}
Возвращает значения настраиваемых атрибутов для текстового диапазона, таких как номер строки, номер столбца, номер раздела, номер страницы и закладки. Он похож на API GetAttributeValue для ITextRange и возвращает variant, содержащий целочисленные или строковые значения для поддерживаемых в настоящее время настраиваемых атрибутов. Входные параметры и возвращаемые значения упаковываются в IInspectable.
Оператор | Роль | Тип | Описание |
---|---|---|---|
3 | Input | ITextRangeProvider | Диапазон входного текста |
4 | Input | Int32 | Идентификатор входного атрибута |
5 | Выходные данные | Int32 или String | Возвращаемое значение настраиваемого атрибута |
В настоящее время Word поддерживает следующий набор пользовательских идентификаторов атрибутов:
Идентификатор атрибута | Входное значение | Возвращаемый тип |
---|---|---|
Номер строки | 0 | Int32 |
Номер страницы | 1 | Int32 |
Номер столбца | 2 | Int32 |
Section Number | 3 | Int32 |
Имя закладки | 4 | String |
MoveBySentence
Guid: {F39655AC-133A-435B-A318-C197F0D3D203}
Как и API перемещения ITextRangeProvider, он перемещает текстовый диапазон вперед или назад на указанное количество единиц предложения.
Оператор | Роль | Тип | Описание |
---|---|---|---|
3 | Входные и выходные данные | ITextRangeProvider | Диапазон ввода и вывода текста |
4 | Input | Int32 | Количество единиц ввода при перемещении |
5 | Выходные данные | Int32 | Возвращаемое значение фактических перемещенных единиц |
MoveEndpointBySentence
Guid: {368E89A2-1BC2-4402-8C58-33C63ECFFA3B}
Как и API MoveEndpoint ITextRangeProvider, он перемещает одну конечную точку текстового диапазона на указанное количество единиц предложений в диапазоне документов.
Оператор | Роль | Тип | Описание |
---|---|---|---|
3 | Входные и выходные данные | ITextRangeProvider | Диапазон ввода и вывода текста |
4 | Input | Int32 | Перемещаемая конечная точка |
5 | Input | Int32 | Количество единиц ввода при перемещении |
6 | Выходные данные | Int32 | Возвращаемое значение фактических перемещенных единиц |
Значения конечной точки совпадают с перечислением TextPatternRangeEndpoint.
ExpandToEnclosingSentence
Guid: {98FE8B34-F317-459A-9627-21123EA95BEA}
Как и API ExpandToEnclosingUnit ITextRangeProvider, диапазон расширяется, если он меньше единицы предложения, или сокращается, если он длиннее единицы предложения.
Оператор | Роль | Тип | Описание |
---|---|---|---|
3 | Входные и выходные данные | ITextRangeProvider | Диапазон ввода и вывода текста |
GetMathText
Guid: {380198E5-A51F-4618-A78D-57E9568A3862}
Для текстовых диапазонов, которые имеют тип Math и имеют аннотацию "Математика", этот API будет поддерживать различные форматы математического текста, такие как MathML. Word сейчас поддерживает только формат MathML. Этот API похож на GetText ITextRangeProvider без аргумента length и возвращает полный текст математической зоны.
Оператор | Роль | Тип | Описание |
---|---|---|---|
3 | Input | ITextRangeProvider | Диапазон входного текста |
4 | Input | Int32 | Тип математического формата |
5 | Выходные данные | String | Математический текст для заданного формата |
Тип математического формата | Входное значение (Int32) | Возвращаемый тип |
---|---|---|
Mathml | 0 | String |
Microsoft 365 версии 2112 (сборка 14725.xxxxx)
Пользовательские свойства, события и шаблоны элементов управления