Panoramica del modello a oggetti di Word

Quando si sviluppano soluzioni Word in Visual Studio, si interagisce con il modello a oggetti di Word. Questo modello a oggetti è costituito da classi e interfacce fornite nell'assembly di interoperabilità primario per Word ed è definito nello spazio dei nomi Microsoft.Office.Interop.Word .

Si applica a: le informazioni contenute in questo argomento si applicano ai progetti a livello di documento e ai progetti di componente aggiuntivo VSTO per Word. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.

In questo argomento viene fornita una breve panoramica del modello a oggetti di Word. Per le risorse in cui è possibile ottenere altre informazioni sull'intero modello a oggetti di Word, vedere Usare la documentazione del modello a oggetti di Word.

Per informazioni sull'uso del modello a oggetti di Word per eseguire attività specifiche, vedere gli argomenti seguenti:

Informazioni sul modello a oggetti di Word

In Word sono disponibili centinaia di oggetti con cui interagire. Questi oggetti sono organizzati in una gerarchia che corrisponde strettamente all'interfaccia utente. All'inizio della gerarchia vi è l'oggetto Application . Questo oggetto rappresenta l'istanza corrente di Word. L'oggetto Application contiene gli oggetti Document, Selection, Bookmarke Range . Ciascuno di questi oggetti dispone di numerosi metodi e proprietà che è possibile modificare e usare con l'oggetto.

La figura seguente mostra una visualizzazione di questi oggetti nella gerarchia del modello a oggetti di Word.

Word Object Model graphic

A prima vista, gli oggetti sembrano essere sovrapposti. Ad esempio, gli oggetti Document e Selection sono entrambi membri dell'oggetto Application , ma l'oggetto Document è anche membro dell'oggetto Selection . Entrambi gli oggetti Document e Selection contengono oggetti Bookmark e Range . La sovrapposizione esiste in quanto sono disponibili diversi modi per accedere allo stesso tipo di oggetto. Ad esempio, si applica la formattazione a un oggetto Range , ma è possibile accedere all'intervallo della selezione corrente, di un particolare paragrafo, di una sezione o dell'intero documento.

Le sezioni riportate di seguito forniscono una breve descrizione degli oggetti di livello superiore e della loro reciproca interazione. Tali oggetti comprendono i cinque seguenti:

  • Oggetto applicazione

  • Oggetto Document

  • Oggetto Selection

  • Oggetto Range

  • Oggetto Bookmark

    Oltre al modello a oggetti di Word, i progetti di Office in Visual Studio forniscono elementi host e controlli host che estendono alcuni oggetti nel modello a oggetti di Word. Gli elementi e i controlli host si comportano come gli oggetti di Word che vengono estesi, ma dispongono anche di funzionalità aggiuntive, ad esempio funzionalità di data binding ed eventi aggiuntivi. Per altre informazioni, vedere Automatizzare Word usando oggetti estesi e elementi host e panoramica dei controlli host.

Oggetto applicazione

L'oggetto Application rappresenta l'applicazione Word e costituisce l'elemento padre di tutti gli altri oggetti. I membri vengono in genere applicati a Word nel suo complesso. È possibile usare le proprietà e i metodi di questo oggetto per controllare l'ambiente Word.

Nei progetti di componente aggiuntivo VSTO è possibile accedere all'oggetto Application usando il campo Application della classe ThisAddIn . Per altre informazioni, vedere Programmare componenti aggiuntivi VSTO.

Nei progetti a livello di documento è possibile accedere all'oggetto Application usando la proprietà Application della classe ThisDocument .

Oggetto Document

L'oggetto Document svolge un ruolo centrale nell'ambito della programmazione di Word. Rappresenta un documento e tutto il relativo contenuto. Quando si apre un documento o se ne crea uno nuovo, viene creato un nuovo oggetto Document , che viene aggiunto alla raccolta Documents dell'oggetto Application . Il documento con lo stato attivo è definito documento attivo. È rappresentato dalla proprietà ActiveDocument dell'oggetto Application .

Gli strumenti di sviluppo di Office in Visual Studio estendono l'oggetto Document fornendo il tipo Document . Questo tipo è un elemento host che consente di accedere a tutte le funzionalità di un oggetto Document , che aggiunge eventi aggiuntivi e che offre la possibilità di aggiungere controlli gestiti.

Quando si crea un progetto a livello di documento, è possibile accedere ai membri Document tramite la classe ThisDocument generata nel progetto. È possibile accedere ai membri dell'elemento host Document usando le parole chiave Me o this del codice della classe ThisDocument oppure usando l'oggetto Globals.ThisDocument del codice esterno alla classe ThisDocument . Per altre informazioni, vedere Programmare personalizzazioni a livello di documento. Ad esempio, per selezionare il primo paragrafo del documento, usare il codice seguente.

this.Paragraphs[1].Range.Select();

Nei progetti di componente aggiuntivo VSTO è possibile generare elementi host Document in fase di esecuzione. È possibile usare l'elemento host generato per aggiungere controlli al documento associato. Per altre informazioni, vedere Estendere documenti di Word e cartelle di lavoro di Excel nei componenti aggiuntivi VSTO in fase di esecuzione.

Oggetto Selection

L'oggetto Selection rappresenta l'area attualmente selezionata. Quando si esegue un'operazione nell'interfaccia utente di Word, ad esempio l'applicazione di grassetto a un testo, si seleziona o si evidenzia il testo e quindi si applica la formattazione. L'oggetto Selection è sempre presente in un documento. Se non è selezionato alcun elemento, rappresenta il punto di inserimento. Inoltre, una selezione può includere più blocchi di testo non contigui.

Oggetto Range

L'oggetto Range rappresenta un'area contigua in un documento e viene definito mediante una posizione di carattere iniziale e una posizione di carattere finale. Non sono presenti limiti che impongono l'uso di un singolo oggetto Range . È possibile definire più oggetti Range nello stesso documento. Un oggetto Range presenta le caratteristiche seguenti:

  • Può essere costituito dal solo punto di inserimento, da un intervallo di testo o dall'intero documento.

  • Comprende caratteri non stampabili come spazi, caratteri di tabulazione e segni di paragrafo.

  • Può essere l'area rappresentata dalla selezione corrente o può rappresentare un'area diversa dalla selezione corrente.

  • Non è visibile in un documento, a differenza di una selezione, che è sempre visibile.

  • Non viene salvato con un documento ed è disponibile solo durante l'esecuzione del codice.

    In caso di inserimento di testo alla fine dell'intervallo, in Word l'intervallo viene automaticamente espanso in modo da includere il testo inserito.

Oggetti controllo contenuto

Un oggetto ContentControl rappresenta un modo per controllare l'input e la presentazione del testo nonché di altri tipi di contenuto nei documenti di Word. Un oggetto ContentControl può visualizzare vari tipi diversi di interfaccia utente ottimizzati per l'uso nei documenti di Word, ad esempio un controllo RTF, una selezione data o una casella combinata. Inoltre è possibile usare un oggetto ContentControl per impedire agli utenti di modificare le sezioni del documento o del modello.

Visual Studio estende l'oggetto ContentControl in numerosi controlli host diversi. Mentre l'oggetto ContentControl è in grado di visualizzare uno qualsiasi dei vari tipi di interfaccia utente disponibili per i controlli del contenuto, in Visual Studio è disponibile un tipo diverso per ogni controllo del contenuto. È ad esempio possibile usare un oggetto RichTextContentControl per creare un controllo RTF o un oggetto DatePickerContentControl per creare una selezione data. Questi controlli host funzionano come oggetti ContentControlnativi, ma sono dotati di eventi e funzionalità di data binding aggiuntive. Per altre informazioni, vedere Controlli contenuto.

Oggetto Bookmark

L'oggetto Bookmark rappresenta un'area contigua in un documento, con una posizione di carattere iniziale e una posizione di carattere finale. I segnalibri possono essere usati per contrassegnare una posizione in un documento o come contenitori di testo in un documento. Un oggetto Bookmark può essere costituito dal punto di inserimento o avere le stesse dimensioni dell'intero documento. Un oggetto Bookmark presenta le seguenti caratteristiche distintive rispetto all'oggetto Range :

  • È possibile assegnare un nome al segnalibro in fase di progettazione.

  • Gli oggettiBookmark vengono salvati con il documento, pertanto non vengono eliminati al termine dell'esecuzione del codice o dopo la chiusura del documento.

  • È possibile nascondere o rendere visibili i segnalibri impostando la proprietà ShowBookmarks della classe View su false o true.

    In Visual Studio l'oggetto Bookmark viene esteso fornendo il controllo host Bookmark . Il controllo host Bookmark si comporta come un oggetto Bookmarknativo, ma dispone di ulteriori eventi e funzionalità di data binding. È possibile associare dati a un controllo Bookmark contenuto in un documento nello stesso modo in cui si associano dati a un controllo casella di testo di un Windows Form. Per altre informazioni, vedere Controllo Segnalibro.

Usare la documentazione del modello a oggetti di Word

Per informazioni complete sul modello a oggetti di Word, è possibile usare il riferimento dell'assembly di interoperabilità primario (PIA) di Word e il riferimento del modello a oggetti Visual Basic, Applications Edition (VBA).

Informazioni di riferimento sull'assembly di interoperabilità primario

Nella documentazione di riferimento dell'assembly di interoperabilità primario dell'assembly di interoperabilità primario (PIA) di Word vengono descritti i tipi dell'assembly di interoperabilità primario per Word. Questa documentazione è disponibile nel percorso seguente: Informazioni di riferimento sull'assembly di interoperabilità primario di Word 2010.

Per altre informazioni sulla progettazione dell'assembly di interoperabilità primario di Word, ad esempio sulle differenze tra classi e interfacce nell'assembly di interoperabilità primario di Office e sul modo in cui vengono implementati gli eventi nell'assembly di interoperabilità primario di Office, vedere Panoramica delle classi e delle interfacce.

Informazioni di riferimento sul modello a oggetti VBA

Nel riferimento del modello a oggetti VBA è illustrato il modello a oggetti di Word esposto al codice VBA. Per altre informazioni, vedere Informazioni di riferimento sul modello a oggetti di Word 2010.

Tutti gli oggetti e i membri nel riferimento del modello a oggetti VBA corrispondono a tipi e membri nell'assembly di interoperabilità primario (PIA) di Word. Ad esempio, l'oggetto Document nel riferimento al modello a oggetti VBA corrisponde all'oggetto nell'elenco Document di interoperabilità primario di Word. Sebbene il riferimento del modello a oggetti VBA fornisca esempi di codice per la maggior parte delle proprietà, dei metodi e degli eventi, è necessario convertire il codice VBA di questo riferimento per Visual Basic o Visual C# se si vuole usarlo in un progetto di Word che è possibile creare tramite Visual Studio.