Cenni preliminari sul 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 fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Word 2013 e Word 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.
In questo argomento vengono forniti cenni preliminari sul modello a oggetti di Word.Per risorse contenenti ulteriori informazioni sull'intero modello a oggetti di Word, vedere Utilizzo della documentazione sul modello a oggetti di Word.
Per informazioni sull'utilizzo 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, Bookmark e Range.Ciascuno di questi oggetti sono disponibili numerosi metodi e proprietà che è possibile modificare e utilizzare con l'oggetto.
Nell'illustrazione seguente viene mostrata una visualizzazione di questi oggetti nella gerarchia del modello a oggetti di Word.
Riepilogo del modello a oggetti di Word
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 numerosi metodi 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.
Nelle sezioni riportate di seguito viene fornita una breve descrizione degli oggetti di livello superiore e della loro reciproca interazione.Tali oggetti sono i seguenti cinque:
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 del 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 associazione dati ed eventi aggiuntivi.Per ulteriori informazioni, vedere Automazione di Word utilizzando oggetti estesi e Cenni preliminari sugli elementi e sui controlli host.
Oggetto Application
L'oggetto Application rappresenta l'applicazione Word e costituisce l'elemento padre di tutti gli altri oggetti.I membri vengono in genere applicati complessivamente a Word.Le proprietà e i metodi di questo oggetto consentono di controllare l'ambiente Word.
Nei progetti di componenti aggiuntivi a livello di applicazione è possibile accedere all'oggetto Application utilizzando il campo Application della classe ThisAddIn.Per ulteriori informazioni, vedere Programmazione di componenti aggiuntivi a livello di applicazione.
Nei progetti a livello di documento è possibile accedere all'oggetto Application utilizzando la proprietà Application della classe ThisDocument.
Oggetto Document
L'oggetto Microsoft.Office.Interop.Word.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 Microsoft.Office.Interop.Word.Document, che viene aggiunto alla raccolta Documents dell'oggetto Application.Il documento con lo stato attivo è detto documento attivo.È rappresentato dalla proprietà ActiveDocument dell'oggetto Application.
Gli strumenti di sviluppo di Office in Visual Studio estendono l'oggetto Microsoft.Office.Interop.Word.Document fornendo il tipo Microsoft.Office.Tools.Word.Document.Questo tipo è un elemento host che consente di accedere a tutte le funzionalità di un oggetto Microsoft.Office.Interop.Word.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 Microsoft.Office.Tools.Word.Document tramite la classe ThisDocument generata nel progetto.È possibile accedere ai membri dell'elemento host Microsoft.Office.Tools.Word.Document utilizzando le parole chiave Me o this del codice della classe ThisDocument oppure utilizzando l'oggetto Globals.ThisDocument del codice esterno alla classe ThisDocument.Per ulteriori informazioni, vedere Programmazione delle personalizzazioni a livello di documento.Per selezionare il primo paragrafo del documento, ad esempio, utilizzare il codice seguente.
Me.Paragraphs(1).Range.Select()
this.Paragraphs[1].Range.Select();
Nei progetti a livello di applicazione è possibile generare elementi host Microsoft.Office.Tools.Word.Document in fase di esecuzione.È possibile utilizzare l'elemento host generato per aggiungere controlli al documento associato.Per ulteriori informazioni, vedere Estensione in fase di esecuzione di documenti di Word e di cartelle di lavoro di Excel in componenti aggiuntivi a livello di applicazione.
Oggetto Selection
L'oggetto Selection rappresenta l'area correntemente selezionata.Quando si esegue un'operazione l'interfaccia utente di Word, come testo in grassetto, si seleziona, o 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'utilizzo di un singolo oggetto Range.È possibile definire più oggetti Range nello stesso documento.Un oggetto Range presenta le caratteristiche descritte di seguito:
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ò corrispondere all'area rappresentata dalla selezione corrente oppure a 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, l'intervallo viene automaticamente espanso in modo da includere il testo inserito.
Oggetti di controllo del contenuto
Un oggetto Microsoft.Office.Interop.Word.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 Microsoft.Office.Interop.Word.ContentControl può visualizzare vari tipi diversi di interfaccia utente ottimizzati per l'utilizzo nei documenti di Word, ad esempio un controllo RTF, una selezione data o una casella combinata.Inoltre è possibile utilizzare un oggetto Microsoft.Office.Interop.Word.ContentControl per impedire agli utenti di modificare le sezioni del documento o del modello.
Visual Studio consente di estendere l'oggetto Microsoft.Office.Interop.Word.ContentControl in diversi controlli host.Mentre l'oggetto Microsoft.Office.Interop.Word.ContentControl è in grado di visualizzare qualsiasi tipo dell'interfaccia utente disponibili per i controlli del contenuto, in Visual Studio è disponibile un tipo diverso per ogni controllo del contenuto.È ad esempio possibile utilizzare un oggetto Microsoft.Office.Tools.Word.RichTextContentControl per creare un controllo RTF o un oggetto Microsoft.Office.Tools.Word.DatePickerContentControl per creare una selezione data.Questi controlli host funzionano come oggetti Microsoft.Office.Interop.Word.ContentControl nativi, ma sono dotati di eventi e funzionalità di associazione dati aggiuntive.Per ulteriori informazioni, vedere Controlli del contenuto.
Oggetto Bookmark
L'oggetto Microsoft.Office.Interop.Word.Bookmark rappresenta un'area contigua in un documento, con una posizione di carattere iniziale e una posizione di carattere finale.I segnalibri possono essere utilizzati per contrassegnare una posizione in un documento o come contenitori di testo in un documento.Un oggetto Microsoft.Office.Interop.Word.Bookmark può essere costituito dal punto di inserimento o avere le stesse dimensioni dell'intero documento.Un oggetto Microsoft.Office.Interop.Word.Bookmark presenta le seguenti caratteristiche distintive rispetto all'oggetto Range:
È possibile assegnare un nome al segnalibro in fase di progettazione.
Gli oggetti Microsoft.Office.Interop.Word.Bookmark vengono salvati con il documento e vengono quindi conservati al termine dell'esecuzione del codice o dopo la chiusura del documento.
È possibile nascondere o rendere visibili i segnalibri, impostando la proprietà su false o true la proprietà ShowBookmarks dell'oggetto View.
In Visual Studio l'oggetto Microsoft.Office.Interop.Word.Bookmark viene esteso fornendo il controllo host Microsoft.Office.Tools.Word.Bookmark.Il controllo host Microsoft.Office.Tools.Word.Bookmark si comporta come un oggetto Microsoft.Office.Interop.Word.Bookmark nativo, ma dispone di eventi aggiuntivi e di funzionalità di associazione dati.È 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 ulteriori informazioni, vedere Controllo Bookmark.
Utilizzo della documentazione sul modello a oggetti di Word
Per informazioni complete sul modello a oggetti di Word, vedere la documentazione di riferimento degli (PIA) assembly di interoperabilità primario di Word e Visual Basic per riferimento del modello a oggetti di applicazioni (VBA).
Riferimento all'assembly di interoperabilità primario
Nella documentazione di riferimento degli assembly di interoperabilità primari (PIA) di Word vengono descritti i tipi di assembly di interoperabilità primari per Word.Questa documentazione è disponibile dal seguente percorso: Riferimento degli assembly di interoperabilità primari di Word 2010.
Per ulteriori informazioni sulla progettazione degli assembly di interoperabilità primari di Word, ad esempio le differenze tra classi e interfacce nell'assembly di interoperabilità primario e l'implementazione degli eventi nell'assembly di interoperabilità primario, vedere i cenni preliminari su classi e interfacce negli assembly di interoperabilità primari di Office.
Riferimento del modello a oggetti di VBA
Nella documentazione di riferimento del modello a oggetti di VBA viene illustrato il modello a oggetti di Word come viene esposto al codice VBA.Per ulteriori informazioni, vedere Riferimento del modello a oggetti di Word 2010.
Tutti gli oggetti e i membri nel riferimento del modello a oggetti di VBA corrispondono a tipi e membri nell'assembly di interoperabilità primario (PIA) di Word.Ad esempio, l'oggetto Document nel riferimento del modello a oggetti di VBA corrisponde all'oggetto Microsoft.Office.Interop.Word.Document nell'assembly di interoperabilità primario (PIA) di Word.Sebbene il riferimento del modello a oggetti di VBA fornisca esempi di codice per la maggior parte delle proprietà, dei metodi e degli eventi, è necessario convertire il codice VBA in questo riferimento a Visual Basic o a Visual c# se si desidera utilizzarli in un progetto Word creato mediante Visual Studio.
Vedere anche
Riferimenti
Assembly di interoperabilità primari di Office
Concetti
Automazione di Word utilizzando oggetti estesi
Utilizzo del testo nei documenti
Cenni preliminari sugli elementi e sui controlli host
Limitazioni a livello di codice degli elementi e dei controlli host