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