Requisiti: Usa VSTO per sviluppare un plug-in semplice per Office, come ottenere il plug-in Word Chinese Character length.
Modello di oggetto di parola
Word offre centinaia di oggetti con cui interagire. Questi oggetti sono organizzati in una gerarchia che segue rigorosamente l'interfaccia utente. L'oggetto Application si trova in cima alla gerarchia. Questo oggetto rappresenta l'istanza attuale di Word. L'oggetto Application contiene gli oggetti Documento, Selezione, Segnalibro e Intervallo. Ognuno di questi oggetti possiede diversi metodi e proprietà che possono essere utilizzati per manipolare e interagire con l'oggetto.
L'immagine seguente mostra una vista di questi oggetti nella gerarchia del modello di oggetti Word.
Documentazione:Il login del link ipertestuale è visibile.
Oggetto applicazione
L'oggetto Application rappresenta l'applicazione Word ed è il genitore di tutti gli altri oggetti. I suoi membri sono solitamente applicati a Word nel suo insieme. Puoi usare le sue proprietà e i suoi metodi per controllare l'ambiente Word.
In un progetto add-in VSTO, puoi accedere all'oggetto ThisAddIn utilizzando i campi Application della classe Application.
In un progetto a livello di documento, l'oggetto ThisDocument può essere accessibile utilizzando la proprietà Application della classe Application.
Oggetto documento
L'oggetto Documento è il centro della programmazione Word. Rappresenta un documento e tutto il suo contenuto. Quando apri un documento o crei un nuovo documento, viene creato un nuovo oggetto Documento che viene aggiunto alla collezione Application dell'oggetto Documents. Un documento con un focus è noto come documento attivo. È rappresentato dalla proprietà Application dell'oggetto ActiveDocument.
Quando crei un progetto a livello di documento, puoi accedere al membro ThisDocument utilizzando la classe Document generata nel progetto. L'oggetto ThisDocument può essere accessibile usando la parola chiave Me o questa parola chiave per il codice nella classe Document, oppure usando Globals.ThisDocument per codice al di fuori della classe ThisDocument.
Oggetto di selezione
L'oggetto Selezione rappresenta la regione attualmente selezionata. Quando si esegue un'azione nell'interfaccia utente di Word, come mettere in grassetto il testo, puoi selezionare o evidenziare il testo e poi applicare la formattazione. L'oggetto Selezione è sempre presente nel documento. Se non viene controllato nulla, indica un punto di inserimento. Inoltre, il contenuto selezionato può contenere più blocchi di testo non adiacenti.
Oggetto di distanza
L'oggetto Range rappresenta le aree adiacenti nel documento ed è definito dalle posizioni dei caratteri di inizio e fine. Non è limitato a un singolo oggetto di Range. Puoi definire più oggetti Range nello stesso documento. Gli oggetti a intervallo hanno le seguenti caratteristiche:
- Può contenere solo punti di inserimento individuali, oppure può contenere un intervallo di testo o l'intero documento.
- Include caratteri non stampati come spazi, tabulazioni e marcatori di paragrafo.
- Può essere l'area rappresentata dal contenuto attualmente selezionato o l'area diversa da questo contenuto.
- Non è visibile nel documento, a differenza del contenuto selezionato, che è sempre visibile.
- Non viene salvato con la documentazione ed esiste solo quando il codice è in esecuzione.
- Quando il testo viene inserito alla fine di un intervallo, Word espande automaticamente l'intervallo includendo il testo inserito.
Oggetti di controllo di contenuto (oggetti di controllo di contenuto)
ContentControl fornisce un modo per controllare l'input e la visualizzazione di testo e altri tipi di contenuti all'interno di un documento Word. ContentControl può visualizzare molti tipi diversi di interfaccia utente ottimizzati per l'uso in documenti Word, come controlli di testo multi-messaggio, selettori di data o combo box. Puoi anche usare ContentControl per impedire agli utenti di modificare determinate sezioni di un documento o di un modello.
Visual Studio estende l'oggetto ContentControl a diversi controlli host. Mentre l'oggetto ContentControl mostra tutti i diversi tipi di interfaccia utente disponibili per i controlli di contenuto, Visual Studio fornisce un tipo diverso per ogni controllo di contenuto. Ad esempio, puoi usare RichTextContentControl per creare un controllo testuale multi-messaggio, oppure puoi usare DatePickerContentControl per creare un selezionatore di date. Questi controlli host si comportano in modo simile ai ContentControl nativi, ma dispongono anche di capacità aggiuntive di binding di eventi e dati.
Segnalibro oggetto
L'oggetto Segnalibro rappresenta le aree adiacenti in un documento con sia la posizione di inizio che di fine. Puoi usare i segnalibri per segnare una posizione nel documento o come contenitore per la versione cinese del documento. Un oggetto Segnalibro può contenere punti di inserimento o essere grande quanto l'intero documento. Il segnalibro presenta le seguenti caratteristiche che lo distinguono dagli oggetti Range:
- Puoi nominare segnalibri quando si progetta.
- L'oggetto Bookmark viene salvato insieme al documento, quindi non viene cancellato quando il codice si interrompe o il documento viene chiuso.
- Accedi alla proprietà View impostando la proprietà View su false o true.
- Visual Studio estende l'oggetto Segnalibri fornendo un controllo host Segnalibro. I controlli host dei segnalibri si comportano in modo simile a quelli nativi dei segnalibri, ma dispongono anche di funzionalità aggiuntive di binding di eventi e dati. Puoi associare dati a un controllo segnalibri su un documento allo stesso modo in cui associ i dati a un controllo di una casella di testo su un modulo Windows.
Crea un add-in VSTO per Word
Dopo aver compreso i concetti di base, apri VS 2022 per creare un nuovo add-in VSTO di Word, come mostrato nella figura sottostante:
Crea un nastro visivo come mostrato nella figura seguente:
Fai doppio clic Ribbon1.cs per aprire, rimuovere la scheda predefinita e trascinare una nuova scheda, come mostrato di seguito:
Trascina un gruppo e un controllo di un pulsante nella nuova scheda, come mostrato qui sotto:
Premi il doppio clic sul pulsante appena creato per creare un evento click con il seguente codice:
(Fine)
|