Требования: используйте VSTO для разработки простого плагина для Office, например, получения плагина длины китайского символа Word.
Модель объекта Word
Word предлагает сотни объектов для взаимодействия. Эти объекты организованы в иерархию, строго следующую пользовательскому интерфейсу. Объект Application находится в верхней части иерархии. Этот объект представляет текущий экземпляр Word. Объект Application содержит объекты Document, Selection, Bookmark и Range. Каждый из этих объектов обладает рядом методов и свойств, которые можно использовать для манипуляций и взаимодействия с объектом.
Следующее изображение показывает вид этих объектов в иерархии модели объектов Word.
Документация:Вход по гиперссылке виден.
Объект приложения
Объект Application представляет приложение Word и является родителем всех остальных объектов. Его члены обычно применяются к Word в целом. Вы можете использовать его свойства и методы для управления окружением Word.
В проекте VSTO вы можете получить доступ к объекту ThisAddIn, используя поля Application класса Application.
В проекте на уровне документа объект ThisDocument можно получить с помощью свойства Application класса Application.
Объект документа
Объект Document является центром программирования Word. Он представляет собой документ и всё его содержимое. Когда вы открываете документ или создаёте новый документ, создаётся новый объект Document, который добавляется в коллекцию приложений объекта Documents. Документ с фокусом называется активным документом. Он представлен свойством Application объекта ActiveDocument.
При создании проекта на уровне документа вы можете получить доступ к члену ThisDocument, используя класс Document, сгенерированный в проекте. Объект ThisDocument можно получить с помощью Me или этого ключевого слова для кода в классе Document, либо с помощью Globals.ThisDocument для кода вне класса ThisDocument.
Объект выбора
Объект Selection представляет выбранный регион. При выполнении действия в пользовательском интерфейсе Word, например, выделения текста жирным, вы можете выбрать или выделить текст и затем применить форматирование. Объект Selection всегда присутствует в документе. Если ничего не отмечено, это указывает точку вставки. Кроме того, выбранный контент может содержать несколько несмежных блоков текста.
Объект дальности
Объект Range представляет соседние области документа и определяется положениями начальных и конечных символов. Это не ограничивается одним объектом Range. Вы можете определить несколько объектов Range в одном документе. Объекты дальности обладают следующими характеристиками:
- Он может содержать только отдельные точки вставки или диапазон текста или весь документ.
- Он включает непечатные символы, такие как пробелы, вкладки и маркеры абзацев.
- Это может быть область, представленная выбранным контентом, или область, отличающаяся от этого контента.
- Он не виден в документе, в отличие от выбранного контента, который всегда виден.
- Он не сохраняется вместе с документацией и существует только во время запуска кода.
- Когда текст вставляется в конце диапазона, Word автоматически расширяет диапазон, чтобы включить вставленный текст.
Объекты контроля контента (объекты контроля контента)
ContentControl предоставляет способ управления вводом и рендерингом текста и других типов контента внутри документа Word. ContentControl может отображать множество различных типов интерфейса, оптимизированных для использования в документах Word, таких как многосообщения для текста, выбор дат или комбо-окна. Вы также можете использовать ContentControl, чтобы предотвратить редактирование определённых разделов документа или шаблона.
Visual Studio расширяет объект ContentControl на несколько различных элементов управления хостов. В то время как объект ContentControl отображает все различные типы интерфейса, доступных для управления контентом, Visual Studio предоставляет отдельный тип для каждого контроля контента. Например, вы можете использовать RichTextContentControl для создания множественного текстового управления или DatePickerContentControl для выбора даты. Эти элементы управления ведут себя аналогично нативным ContentControls, но также имеют дополнительные возможности связывания событий и данных.
Объект закладок
Объект Закладка представляет соседние области документа с началом и концом. Вы можете использовать закладки, чтобы отметить место в документе, или как контейнер для китайской версии документа. Объект закладки может содержать точки вставки или быть размером всего документа. Закладка обладает следующими характеристиками, отличающими её от объектов Range:
- Вы можете называть закладки при проектировании.
- Объект Закладка сохраняется вместе с документом, поэтому он не удаляется, когда код останавливается или документ закрыт.
- Получите доступ к свойству View, установив его на false или true.
- Visual Studio расширяет объект закладок, предоставляя управление хостом закладок. Управление хостом закладок ведёт себя аналогично нативной закладке, но также имеет дополнительные возможности привязки событий и данных. Вы можете привязать данные к контролю закладок на документе так же, как привязываете данные к элементам управления текстовым окном в Windows Form.
Создать надстройку Word VSTO
После понимания основных концепций откройте VS 2022, чтобы создать новое дополнение Word VSTO, как показано на рисунке ниже:
Создайте визуальную ленту, как показано на следующем рисунке:
Дважды кликните Ribbon1.cs, чтобы открыть, удалите стандартную вкладку и перетащите новую вкладку, как показано ниже:
Перетащите группу и кнопку управления в вкладку новой вкладки, как показано ниже:
Дважды кликайте по новой кнопке, чтобы создать событие нажатия с помощью следующего кода:
(Конец)
|