Nõuded: Kasuta VSTO-d, et arendada Office'i jaoks lihtne plugin, näiteks hankida Word Chinese tähemärgi pikkuse plugin.
Wordi objektimudel
Word pakub sadu objekte, millega suhelda. Need objektid on organiseeritud hierarhias, mis järgib rangelt kasutajaliidest. Rakendusobjekt asub hierarhia tipus. See objekt esindab Wordi praegust eksemplari. Rakenduse objekt sisaldab Dokumendi, Valiku, järjehoidja ja Vahemiku objekte. Igal neist objektidest on mitmeid meetodeid ja omadusi, mida saab kasutada objekti manipuleerimiseks ja sellega suhtlemiseks.
Järgmine pilt näitab nende objektide vaadet Wordi objektimudeli hierarhias.
Dokumentatsioon:Hüperlingi sisselogimine on nähtav.
Rakenduse objekt
Rakenduse objekt esindab Wordi rakendust ja on kõigi teiste objektide vanem. Selle liikmeid rakendatakse tavaliselt kogu Wordi kohta. Selle omadusi ja meetodeid saab kasutada Wordi keskkonna juhtimiseks.
VSTO lisandmooduliprojektis saad ThisAddIn objektile ligi rakendusklassi rakendusvälju abil.
Dokumenditasandi projektis saab ThisDocument objektile ligi rakendusklassi rakenduse omaduse abil.
Dokumendiobjekt
Dokumendi objekt on Wordi programmeerimise keskpunkt. See esindab dokumenti ja kogu selle sisu. Kui avad dokumendi või lood uue dokumendi, luuakse uus Dokumendi objekt ja lisatakse Dokumendi objekti rakenduskogu. Fookusega dokumenti nimetatakse aktiivseks dokumendiks. Seda esindab ActiveDocument objekti rakendusomadus.
Kui lood dokumenditasandi projekti, saad ThisDocument liikmele ligi projektis genereeritud Document klassi abil. ThisDocument objektile pääseb ligi, kasutades Me või seda märksõna Document klassi koodi jaoks või kasutades Globals.ThisDocument koodi jaoks väljaspool ThisDocument klassi.
Valikuobjekt
Valikuobjekt esindab hetkel valitud piirkonda. Wordi kasutajaliideses tegevuse sooritamisel, näiteks paksus kirjas kirjutamisel, saad valida või esile tõsta teksti ja seejärel vormindust rakendada. Valikuobjekt on dokumendis alati olemas. Kui midagi ei kontrollita, näitab see sisestuspunkti. Lisaks võib valitud sisu sisaldada mitut mitte-kõrvuti asuvat tekstiplokki.
Vahemiku objekt
Vahemik objekt esindab dokumendis naaberalasid ning määratakse algus- ja lõpumärgi positsioonide järgi. See ei piirdu ainult ühe Range objektiga. Samas dokumendis saab defineerida mitu Range objekti. Ulatusobjektidel on järgmised omadused:
- See võib sisaldada ainult üksikuid sisestuspunkte või sisaldada teksti või kogu dokumenti.
- See sisaldab trükimata märke nagu tühikud, tabulaturid ja lõigumärgid.
- See võib olla ala esindatud hetkel valitud sisuga või ala, mis erineb sellest sisust.
- See ei ole dokumendis nähtav, erinevalt valitud sisust, mis on alati nähtav.
- See ei ole dokumentatsiooniga salvestatud ja eksisteerib ainult siis, kui kood töötab.
- Kui tekst lisatakse vahemiku lõppu, laiendab Word automaatselt seda vahemikku, et lisada lisatud tekst.
Sisukontrolli objektid (sisukontrolli objektid)
ContentControl võimaldab kontrollida teksti ja muu sisu sisestust ja renderdamist Wordi dokumendis. ContentControl suudab kuvada mitut erinevat tüüpi kasutajaliidest, mis on optimeeritud Wordi dokumentides, näiteks mitme sõnumi tekstikontrollid, kuupäeva valijad või kombokastid. Samuti saad kasutada ContentControli, et takistada kasutajatel teatud dokumendi või malli osi redigeerimast.
Visual Studio laiendab ContentControl objekti mitmele erinevale hostikontrollile. Kui ContentControl objekt kuvab kõiki erinevaid liidese tüüpe, mis on saadaval sisukontrolliks, siis Visual Studio pakub iga sisukontrolli jaoks erinevat tüüpi. Näiteks saate kasutada RichTextContentControl'i mitme sõnumi tekstikontrolli loomiseks või DatePickerContentControl'i kuupäevavalija loomiseks. Need hostikontrollid käituvad sarnaselt natiivsetele ContentControlidele, kuid neil on ka täiendavad sündmuste ja andmete sidumise võimalused.
Järjehoidja objekt
Järjehoidja objekt esindab dokumendis asuvaid külgnevaid alasid, kus on nii algus- kui ka lõpp-positsioon. Saad kasutada järjehoidjaid asukoha märgistamiseks dokumendis või Hiina versiooni konteinerina. Järjehoidja objekt võib sisaldada sisestuspunkte või olla sama suur kui kogu dokument. Järjehoidjal on järgmised omadused, mis eristavad seda Range'i objektidest:
- Sa saad järjehoidjaid disainides nimetada.
- Järjehoidja objekt salvestatakse koos dokumendiga, seega seda ei kustutata, kui kood peatub või dokument suletakse.
- Vaata omadusele ligi, määrates Vaade omaduse vääraks või tõeseks.
- Visual Studio laiendab järjehoidja objekti, pakkudes järjehoidjate hosti juhtimist. Järjehoidjate hostikontrollid käituvad sarnaselt natiivsele järjehoidjale, kuid neil on ka täiendavad sündmuste ja andmete sidumise võimalused. Andmeid saab siduda järjehoidja kontrolliga dokumendis samamoodi nagu Windows Formi tekstikasti juhtimisega.
Loo Word VSTO lisandmoodul
Pärast põhikontseptsioonide mõistmist ava VS 2022, et luua uus Word VSTO lisandmoodul, nagu alloleval joonisel näidatud:
Loo visuaalne lint nagu järgmisel joonisel näidatud:
Topeltklõpsa Ribbon1.cs, et avada, eemalda vaikimisi vahekaart ja lohista uus vahekaart sisse, nagu allpool näidatud:
Lohista grupp ja nupp uude vahekaardile, nagu allpool näidatud:
Topeltklõpsa äsja loodud nupul, et luua klikkisündmus järgmise koodiga:
(Lõpp)
|