Cerințe: Folosiți VSTO pentru a dezvolta un plug-in simplu pentru Office, cum ar fi obținerea plugin-ului Word Chinese Character length.
Modelul obiectelor de cuvânt
Word oferă sute de obiecte cu care poți interacționa. Aceste obiecte sunt organizate într-o ierarhie care urmează strict interfața utilizatorului. Obiectul Application se află în vârful ierarhiei. Acest obiect reprezintă instanța curentă a Wordului. Obiectul Application conține obiectele Document, Selection, Bookmark și Range. Fiecare dintre aceste obiecte are o serie de metode și proprietăți care pot fi folosite pentru a manipula și interacționa cu obiectul.
Imaginea următoare arată o vedere a acestor obiecte din ierarhia modelului de obiecte Word.
Documentație:Autentificarea cu hyperlink este vizibilă.
Obiect aplicație
Obiectul Application reprezintă aplicația Word și este părintele tuturor celorlalte obiecte. Membrii săi sunt de obicei aplicați Cuvântului în ansamblu. Poți folosi proprietățile și metodele sale pentru a controla mediul Word.
Într-un proiect suplimentar VSTO, poți accesa obiectul ThisAddIn folosind câmpurile Application ale clasei Application.
Într-un proiect la nivel de document, obiectul ThisDocument poate fi accesat folosind proprietatea Application a clasei Application.
Obiect document
Obiectul Document este centrul programării Word. Reprezintă un document și tot conținutul său. Când deschizi un document sau creezi un document nou, un nou obiect Document este creat și adăugat în colecția Application a obiectului Documents. Un document cu un focus este cunoscut ca document activ. Este reprezentat prin proprietatea Application a obiectului ActiveDocument.
Când creezi un proiect la nivel de document, poți accesa membrul ThisDocument folosind clasa Document generată în proiect. Obiectul ThisDocument poate fi accesat folosind Me sau acest cuvânt cheie pentru cod în clasa Document sau folosind Globals.ThisDocument pentru cod în afara clasei ThisDocument.
Obiect de selecție
Obiectul Selection reprezintă regiunea selectată în prezent. Când efectuezi o acțiune în interfața de utilizator Word, cum ar fi îngroșarea textului, poți selecta sau evidenția textul și apoi poți aplica formatarea. Obiectul Selecție este întotdeauna prezent în document. Dacă nu se bifează nimic, indică un punct de inserție. În plus, conținutul selectat poate conține mai multe blocuri de text neadiacente.
Obiect de distanță
Obiectul Range reprezintă zonele adiacente din document și este definit de pozițiile caracterelor de început și sfârșit. Nu este limitat la un singur obiect Range. Poți defini mai multe obiecte Range în același document. Obiectele de la distanță au următoarele caracteristici:
- Poate conține doar puncte de inserție individuale sau poate conține un interval de text sau întregul document.
- Include caractere netipărite, cum ar fi spații, tab-uri și marcatoare de paragraf.
- Poate fi zona reprezentată de conținutul selectat în prezent sau zona diferită de acest conținut.
- Nu este vizibil în document, spre deosebire de conținutul selectat, care este întotdeauna vizibil.
- Nu este salvat împreună cu documentația și există doar când codul rulează.
- Când textul este inserat la finalul unui interval, Word extinde automat intervalul pentru a include textul inserat.
Obiecte de Control al Conținutului (Obiecte de Control al Conținutului)
ContentControl oferă o modalitate de a controla introducerea și redarea textului și a altor tipuri de conținut într-un document Word. ContentControl poate afișa multe tipuri diferite de interfețe optimizate pentru utilizare în documente Word, cum ar fi controale text multi-mesaj, selectoare de date sau căsuțe combo. De asemenea, poți folosi ContentControl pentru a împiedica utilizatorii să editeze anumite secțiuni ale unui document sau șablon.
Visual Studio extinde obiectul ContentControl către mai multe controale diferite de gazdă. În timp ce obiectul ContentControl afișează toate tipurile diferite de interfață disponibile pentru controale de conținut, Visual Studio oferă un tip diferit pentru fiecare control de conținut. De exemplu, poți folosi RichTextContentControl pentru a crea un control de text multi-mesaje sau poți folosi DatePickerContentControl pentru a crea un selector de date. Aceste controale gazdă se comportă similar cu ContentControl-urile native, dar au și capabilități suplimentare de legare a evenimentelor și datelor.
Obiect de semn de carte
Obiectul Bookmark reprezintă zonele adiacente dintr-un document cu poziții atât de start, cât și de sfârșit. Poți folosi semne de carte pentru a marca o locație în document sau ca recipient pentru versiunea chineză a documentului. Un obiect Bookmark poate conține puncte de inserție sau poate fi la fel de mare ca întregul document. Bookmark-ul are următoarele caracteristici care îl deosebesc de obiectele Range:
- Poți numi semnele de carte când creezi.
- Obiectul Bookmark este salvat împreună cu documentul, deci nu este șters când codul se oprește din rulare sau documentul este închis.
- Accesează proprietatea View setând proprietatea View pe false sau true.
- Visual Studio extinde obiectul Bookmark oferind un control gazdă Bookmark. Controalele gazdei de bookmark se comportă similar cu cele native de bookmark, dar au și capabilități suplimentare de legare a evenimentelor și datelor. Poți lega datele de un control de favorite pe un document în același mod în care asociezi datele de un control de tip cutie de text pe un formular Windows.
Creează un add-in VSTO pentru Word
După ce înțelegeți conceptele de bază, deschideți VS 2022 pentru a crea un nou add-in VSTO pentru Word, așa cum se vede în figura de mai jos:
Creați o panglică vizuală, așa cum se arată în figura următoare:
Faceți dublu clic Ribbon1.cs pentru a deschide, eliminați fila implicită și trageți o filă nouă, așa cum se arată mai jos:
Trage un control de grup și un buton în fila nouă, așa cum se arată mai jos:
Faceți dublu clic pe butonul nou creat pentru a crea un eveniment de click cu următorul cod:
(Sfârșit)
|