Požiadavky: Použite VSTO na vytvorenie jednoduchého plug-inu pre Office, napríklad získanie pluginu na dĺžku čínskeho znaku vo Worde.
Model Word objektu
Word ponúka stovky objektov na interakciu. Tieto objekty sú organizované v hierarchii, ktorá prísne nasleduje používateľské rozhranie. Objekt Application je na vrchole hierarchie. Tento objekt predstavuje aktuálnu inštanciu Wordu. Objekt Application obsahuje objekty Document, Selection, Bookmark a Range. Každý z týchto objektov má niekoľko metód a vlastností, ktoré možno použiť na manipuláciu a interakciu s objektom.
Nasledujúci obrázok ukazuje pohľad na tieto objekty v hierarchii objektového modelu vo Worde.
Dokumentácia:Prihlásenie na hypertextový odkaz je viditeľné.
Aplikačný objekt
Objekt Application reprezentuje Word aplikáciu a je rodičom všetkých ostatných objektov. Jeho členovia sa zvyčajne vzťahujú na Slovo ako celok. Jeho vlastnosti a metódy môžete použiť na ovládanie prostredia vo Worde.
V projekte s doplnkom VSTO môžete pristupovať k objektu ThisAddIn pomocou polí Application triedy Application.
V projekte na úrovni dokumentu je objekt ThisDocument prístupný použitím vlastnosti Application triedy Application.
Objekt dokumentu
Objekt Dokument je stredobodom programovania vo Worde. Predstavuje dokument a všetok jeho obsah. Keď otvoríte dokument alebo vytvoríte nový dokument, vytvorí sa nový objekt Dokument, ktorý sa pridá do kolekcie Aplikácie objektu Dokumenty. Dokument so zameraním sa nazýva aktívny dokument. Je reprezentovaný vlastnosťou Application objektu ActiveDocument.
Keď vytvoríte projekt na úrovni dokumentu, môžete pristupovať k členovi ThisDocument pomocou triedy Document generovanej v projekte. Objekt ThisDocument je možné získať použitím kľúčového slova Me alebo this pre kód v triede Document, alebo použitím Globals.ThisDocument pre kód mimo triedy ThisDocument.
Objekt výberu
Objekt Selection predstavuje aktuálne vybranú oblasť. Pri vykonávaní akcie v používateľskom rozhraní Wordu, ako je tučné zvýraznenie textu, môžete text vybrať alebo zvýrazniť a potom aplikovať formátovanie. Objekt Selection je vždy prítomný v dokumente. Ak sa nič nekontroluje, ukazuje to miesto vloženia. Okrem toho môže vybraný obsah obsahovať viacero nesúvisiacich blokov textu.
Objekt dosahu
Objekt Range reprezentuje susedné oblasti v dokumente a je definovaný pozíciou počiatočného a koncového znaku. Nie je obmedzený na jeden objekt Range. V jednom dokumente môžete definovať viacero objektov Range. Objekty s dosahom majú nasledujúce charakteristiky:
- Môže obsahovať iba jednotlivé vkladacie body, alebo rozsah textu či celý dokument.
- Obsahuje netlačené znaky, ako sú medzery, tabulátory a značky odsekov.
- Môže to byť oblasť reprezentovaná aktuálne vybraným obsahom alebo oblasť, ktorá sa od tohto obsahu líši.
- Nie je viditeľný v dokumente, na rozdiel od vybraného obsahu, ktorý je vždy viditeľný.
- Nie je uložený v dokumentácii a existuje len počas bežiaceho kódu.
- Keď sa text vloží na koniec rozsahu, Word automaticky rozšíri rozsah o vložený text.
Objekty kontroly obsahu (Objekty kontroly obsahu)
ContentControl poskytuje spôsob, ako kontrolovať vstup a zobrazovanie textu a iných typov obsahu v rámci Word dokumentu. ContentControl dokáže zobrazovať mnoho rôznych typov používateľského rozhrania optimalizovaných na použitie vo Word dokumentoch, ako sú viacnásobné textové ovládacie prvky, výbery dátumov alebo kombinované boxy. Môžete tiež použiť ContentControl na zabránenie používateľom upravovať určité časti dokumentu alebo šablóny.
Visual Studio rozširuje objekt ContentControl na niekoľko rôznych hostiteľských ovládacích prvkov. Kým objekt ContentControl zobrazuje všetky rôzne typy používateľského rozhrania dostupné pre ovládanie obsahu, Visual Studio poskytuje pre každú kontrolu obsahu iný typ. Napríklad môžete použiť RichTextContentControl na vytvorenie textovej kontroly s viacerými správami, alebo môžete použiť DatePickerContentControl na vytvorenie výberu dátumu. Tieto hostiteľské ovládacie prvky sa správajú podobne ako natívne ContentControls, ale majú aj ďalšie možnosti viazania udalostí a dát.
Objekt záložiek
Objekt Záložka reprezentuje susedné oblasti v dokumente s oboma počiatočnými aj koncovými pozíciami. Môžete použiť záložky na označenie miesta v dokumente alebo ako kontajner pre čínsku verziu dokumentu. Objekt záložiek môže obsahovať vkladacie body alebo byť taký veľký ako celý dokument. Bookmark má nasledujúce vlastnosti, ktoré ho odlišujú od objektov Range:
- Pri navrhovaní môžete menovať záložky.
- Objekt Záložka sa ukladá spolu s dokumentom, takže sa nevymaže, keď kód prestane bežať alebo sa dokument zatvorí.
- Prístup k vlastnosti Zobraziť sa zobrazí nastavením vlastnosti Zobraziť na nepravdivé alebo pravdivé.
- Visual Studio rozširuje objekt Záložka poskytovaním hostiteľského ovládania záložiek. Ovládanie hostiteľa záložiek sa správa podobne ako natívny Bookmark, ale má aj ďalšie možnosti viazania udalostí a dát. Dáta môžete priradiť k ovládaniu záložiek na dokumente rovnako, ako dáta priradíte k ovládaniu textového poľa vo Windows Form.
Vytvorte doplnok Word VSTO
Po pochopení základných konceptov otvorte VS 2022 a vytvorte nový doplnok Word VSTO, ako je znázornené na obrázku nižšie:
Vytvorte vizuálnu stuhu, ako je znázornené na nasledujúcom obrázku:
Dvojitým kliknutím Ribbon1.cs otvoríte, odstránite predvolenú kartu a potiahnite novú kartu, ako je uvedené nižšie:
Presuňte ovládanie skupiny a tlačidla do záložky novej karty, ako je znázornené nižšie:
Dvojitým kliknutím na novo vytvorené tlačidlo vytvoríte klikaciu udalosť s nasledujúcim kódom:
(Koniec)
|