Vaatimukset: Käytä VSTO:ta kehittääksesi yksinkertaisen lisäosan Officelle, kuten Word Chinese -merkkien pituuslisäosan hankkimiseen.
Word-objektimalli
Word tarjoaa satoja esineitä vuorovaikutukseen. Nämä objektit on organisoitu hierarkiaan, joka noudattaa tarkasti käyttöliittymää. Sovellusobjekti on hierarkian yläosassa. Tämä objekti edustaa nykyistä Word-instanssia. Sovellusobjekti sisältää Dokumentti-, Valinta-, Kirjanmerkki- ja Alue-objektit. Jokaisella näistä olioista on useita menetelmiä ja ominaisuuksia, joita voidaan käyttää objektin käsittelyyn ja vuorovaikutukseen.
Seuraava kuva näyttää näkymän näistä objekteista Word-objektimallin hierarkiassa.
Dokumentaatio:Hyperlinkin kirjautuminen on näkyvissä.
Sovellusobjekti
Sovellusobjekti edustaa Word-sovellusta ja on kaikkien muiden olioiden vanhempi. Sen jäsenet käytetään yleensä koko Wordiin. Voit käyttää sen ominaisuuksia ja metodeja ohjataksesi Word-ympäristöä.
VSTO-lisäprojektissa voit käyttää ThisAddIn-objektia käyttämällä Sovellus-luokan Sovelluskenttiä.
Dokumenttitason projektissa ThisDocument-objektiin pääsee käsiksi käyttämällä Sovellusluokan Sovellusominaisuutta.
Dokumenttiobjekti
Dokumentti-objekti on Word-ohjelmoinnin keskus. Se edustaa asiakirjaa ja sen sisältöä. Kun avaat asiakirjan tai luot uuden dokumentin, uusi Dokumentti-objekti luodaan ja lisätään Asiakirja-objektin sovelluskokoelmaan. Dokumenttia, jossa on fokus, kutsutaan aktiiviseksi asiakirjaksi. Se esitetään ActiveDocument-objektin sovellusominaisuutena.
Kun luot dokumenttitason projektin, pääset käsiksi ThisDocument-jäseneen käyttämällä projektissa luotua Document-luokkaa. ThisDocument-objektiin pääsee käsiksi käyttämällä Me- tai tätä avainsanaa Document-luokan koodille, tai käyttämällä Globals.ThisDocument-koodia ThisDocument-luokan ulkopuoliselle koodille.
Valintaobjekti
Valintaobjekti edustaa tällä hetkellä valittua aluetta. Kun suoritat toimintoa Wordin käyttöliittymässä, kuten lihavoitu teksti, voit valita tai korostaa tekstin ja soveltaa muotoilua. Valintaobjekti on aina läsnä dokumentissa. Jos mitään ei tarkisteta, se osoittaa syöttöpisteen. Lisäksi valittu sisältö voi sisältää useita ei-vierekkäisiä tekstilohkoja.
Etäisyysobjekti
Range-objekti edustaa vierekkäisiä alueita dokumentissa ja määritellään aloitus- ja loppumerkkien sijainnin perusteella. Se ei rajoitu yhteen Range-objektiin. Voit määritellä useita Range-objekteja samassa asiakirjassa. Etäisyysobjekteilla on seuraavat ominaisuudet:
- Se voi sisältää vain yksittäisiä lisäyspisteitä tai sisältää tekstialueen tai koko asiakirjan.
- Se sisältää ei-painettuja merkkejä, kuten välilyöntejä, välilehtiä ja kappalemerkkejä.
- Se voi olla valittu sisältö tai alue, joka eroaa tästä sisällöstä.
- Se ei näy asiakirjassa, toisin kuin valittu sisältö, joka on aina näkyvissä.
- Sitä ei tallenneta dokumentaatioon, vaan se on olemassa vain silloin, kun koodi on käynnissä.
- Kun teksti lisätään alueen loppuun, Word laajentaa aluetta automaattisesti sisältämään lisätyn tekstin.
Sisällönhallintaobjektit (sisällönhallintaobjektit)
ContentControl tarjoaa tavan hallita tekstin ja muun sisällön syötettä ja renderöintiä Word-dokumentissa. ContentControl voi näyttää monenlaisia käyttöliittymätyyppejä, jotka on optimoitu Word-dokumenttien käyttöön, kuten moniviestiset tekstiohjaimet, päivämäärävalitsimet tai yhdistelmälaatikot. Voit myös käyttää ContentControlia estääksesi käyttäjiä muokkaamasta tiettyjä osia asiakirjasta tai mallipohjasta.
Visual Studio laajentaa ContentControl-objektin useisiin eri isäntäohjauksiin. Vaikka ContentControl-objekti näyttää kaikki eri käyttöliittymätyypit sisällönohjaukseen, Visual Studio tarjoaa erilaisen tyypin jokaiselle sisällönohjaukselle. Esimerkiksi voit käyttää RichTextContentControlia luodaksesi moniviestisen tekstiohjaimen tai DatePickerContentControlia päivämäärävalitsimen luomiseen. Nämä isäntäohjaimet käyttäytyvät samankaltaisesti kuin natiivit ContentControlit, mutta niissä on myös lisätoimintoja tapahtumien ja tietojen sitomiseen.
Kirjanmerkkiobjekti
Kirjanmerkki-objekti edustaa vierekkäisiä alueita dokumentissa sekä aloitus- että lopetuspaikoilla. Voit käyttää kirjanmerkkejä merkitsemään paikan dokumentissa tai toimimaan konttina asiakirjan kiinalaiselle versiolle. Kirjanmerkkiobjekti voi sisältää lisäyspisteitä tai olla yhtä suuri kuin koko asiakirja. Kirjanmerkillä on seuraavat ominaisuudet, jotka erottavat sen Range-objekteista:
- Voit nimetä kirjanmerkkejä suunnitellessasi.
- Bookmark-objekti tallennetaan dokumentin mukana, joten sitä ei poisteta, kun koodi lakkaa käynnistymästä tai dokumentti suljetaan.
- Pääse View-ominaisuuteen asettamalla View-ominaisuus väärin tai tosi.
- Visual Studio laajentaa Bookmark-objektia tarjoamalla Bookmark-isäntäohjauksen. Kirjanmerkkien isäntäkontrollit käyttäytyvät samankaltaisesti kuin natiivi Bookmark, mutta niissä on myös lisätoimintoja tapahtumien ja tietojen sitomisen ominaisuuksia. Voit sitoa datan kirjanmerkkikontrolliin dokumentissa samalla tavalla kuin Windows Formin tekstilaatikkokontrolliin.
Luo Word VSTO -lisäosa
Kun peruskäsitteet on ymmärretty, avaa VS 2022 luodaksesi uuden Word VSTO -lisäosan kuten alla olevassa kuvassa näkyy:
Luo visuaalinen nauha, kuten seuraavassa kuvassa näkyy:
Kaksoisklikkaa Ribbon1.cs avataksesi sen, poistaaksesi oletusvälilehden ja vetääksesi uuden välilehden sisään, kuten alla on esitetty:
Vedä ryhmä ja nappiohjaus uuteen välilehteen, kuten alla on esitetty:
Kaksoisklikkaa uutta painiketta luodaksesi klikkaustapahtuman seuraavalla koodilla:
(Loppu)
|