Condividi tramite


Panoramica del modello a oggetti di Excel

Per sviluppare soluzioni che utilizzano Microsoft Office Excel, è possibile interagire con gli oggetti forniti dal modello a oggetti di Excel. In questo argomento vengono introdotti gli oggetti più importanti:

Nota

Si è interessati allo sviluppo di soluzioni che estendono l'esperienza di Office tra più piattaforme? Vedere il nuovo modello di componenti aggiuntivi per Office. I componenti aggiuntivi di Office hanno un footprint ridotto rispetto ai componenti aggiuntivi e alle soluzioni VSTO ed è possibile compilarli usando quasi qualsiasi tecnologia di programmazione Web, ad esempio HTML5, JavaScript, CSS3 e XML.

Il modello a oggetti è strettamente basato sull'interfaccia utente. L’oggetto Application rappresenta l'intera applicazione e ogni oggetto Workbook contiene una raccolta di oggetti Worksheet. La principale astrazione che rappresenta le celle è l’oggetto Range che consente di lavorare con singole celle o gruppi di celle.

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

In questo argomento viene illustrato brevemente il modello a oggetti di Excel. Per le risorse in cui è possibile ottenere altre informazioni sull'intero modello a oggetti di Excel, vedere Usare la documentazione del modello a oggetti di Excel.

Accedere agli oggetti in un progetto di Excel

Quando si crea un nuovo progetto di componente aggiuntivo VSTO per Excel, Visual Studio crea automaticamente un file di codice ThisAddIn.vb o ThisAddIn.cs . È possibile accedere all'oggetto applicazione tramite Me.Application o this.Application.

Quando si crea un nuovo progetto a livello di documento per Excel, è possibile creare un nuovo progetto cartella di lavoro di Excel o modello di Excel. Visual Studio crea automaticamente i file di codice seguenti nel nuovo progetto di Excel per i progetti di cartella di lavoro e modello.

Visual Basic C#
ThisWorkbook.vb ThisWorkbook.cs
Sheet1.vb Sheet1.cs
Sheet2.vb Sheet2.cs
Sheet3.vb Sheet3.cs

È possibile utilizzare la classe Globals nel progetto per accedere a ThisWorkbook, Sheet1, Sheet2 o Sheet3 dall'esterno della rispettiva classe. Per altre informazioni, vedere Accesso globale agli oggetti nei progetti di Office. Nell'esempio seguente viene chiamato il PrintPreview metodo di Sheet1 indipendentemente dal fatto che il codice venga inserito in una delleSheet classi n o della ThisWorkbook classe .

Globals.Sheet1.PrintPreview();

Poiché i dati in un documento di Excel sono altamente strutturati, il modello a oggetti è gerarchico e diretto. Excel fornisce centinaia di oggetti con cui si potrebbe voler interagire, ma è possibile iniziare bene sul modello a oggetti concentrandosi su un piccolo subset degli oggetti disponibili. Questi oggetti sono i seguenti quattro:

  • Applicazione

  • Cartella di lavoro

  • Foglio di lavoro

  • Intervallo

    La maggior parte del lavoro svolto con Excel coinvolge questi quattro oggetti e i relativi membri.

Oggetto applicazione

L’oggetto Application di Excel rappresenta l'applicazione Excel stessa. L’oggetto Application espone una grande quantità di informazioni sull'applicazione in esecuzione, le opzioni applicate a tale istanza e gli oggetti dell'utente corrente aperti all'interno dell'istanza.

Nota

Non è necessario impostare la proprietà EnableEvents dell'oggetto Application in Excel su false. Impostando questa proprietà su false si impedisce ad Excel di generare eventi, inclusi gli eventi dei controlli host.

Oggetto Workbook

L’oggetto Workbook rappresenta una singola cartella di lavoro all'interno dell'applicazione Excel.

Gli strumenti di sviluppo di Office in Visual Studio estendono l'oggetto Workbook fornendo il tipo Workbook . Questo tipo consente di accedere a tutte le funzionalità di un oggetto Workbook. Per altre informazioni, vedere Elemento host della cartella di lavoro.

Worksheet (oggetto)

L'oggetto Worksheet è membro della raccolta Worksheets. Molte proprietà, metodi ed eventi dell’oggetto Worksheet sono identici o simili ai membri forniti dagli oggetti Application o Workbook.

Excel fornisce una raccolta Sheets come proprietà di un oggetto Workbook. Ogni membro della raccolta Sheets può essere un oggetto Worksheet o Chart.

Gli strumenti di sviluppo di Office in Visual Studio estendono l'oggetto Worksheet fornendo il tipo Worksheet . Questo tipo consente di accedere a tutte le funzionalità di un oggetto Worksheet, nonché nuove funzionalità quali la possibilità di ospitare controlli gestiti e gestire i nuovi eventi. Per altre informazioni, vedere Elemento host del foglio di lavoro.

Oggetto Range

L’oggetto Range è quello più utilizzato nelle applicazioni di Excel. Prima di poter modificare un'area in Excel, è necessario esprimerlo come oggetto Range e utilizzare i metodi e le proprietà di tale intervallo. Un oggetto Range rappresenta una cella, una riga, una colonna, una selezione di celle contenenti uno o più blocchi di celle che possono o meno essere contigui o anche un gruppo di celle in più fogli.

Visual Studio estende l’oggetto Range fornendo i tipi NamedRange e XmlMappedRange. Questi tipi hanno la maggior parte delle medesime funzionalità di un oggetto Range, nonché nuove funzionalità, quali la funzionalità di data binding, e nuovi eventi. Per altre informazioni, vedere Controllo NamedRange e controllo XmlMappedRange.

Usare la documentazione del modello a oggetti di Excel

Per informazioni complete sul modello a oggetti di Excel, è possibile utilizzare il riferimento di assembly di interoperabilità primario di Excel e il riferimento del modello a oggetti VBA.

Informazioni di riferimento sull'assembly di interoperabilità primario

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

Per altre informazioni sulla progettazione dell'istanza di interoperabilità di Excel, ad esempio le differenze tra classi e interfacce nell'assembly di interoperabilità primario 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 Excel esposto al codice Visual Basic Applications (VBA). Per altre informazioni, vedere Informazioni di riferimento sul modello a oggetti di Excel 2010.

Tutti gli oggetti e i membri del riferimento del modello a oggetti VBA corrispondono ai tipi e ai membri dell'assembly di interoperabilità primario di Excel. Ad esempio, l'oggetto Worksheet nel riferimento al modello a oggetti VBA corrisponde all'oggetto nell'ordinamento Worksheet primario di Excel. Sebbene il riferimento del modello a oggetti VBA fornisce 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 desidera utilizzarlo in un progetto di Excel che è possibile creare tramite Visual Studio.

Posizione Descrizione
Soluzioni Excel Viene illustrato come creare personalizzazioni a livello di documento e componenti aggiuntivi VSTO per Microsoft Office Excel.
Usare gli intervalli Vengono forniti esempi che illustrano come eseguire attività comuni con gli intervalli.
Usare fogli di lavoro Vengono forniti esempi che illustrano come eseguire attività comuni con i fogli di lavoro.
Usare cartelle di lavoro Vengono forniti esempi che illustrano come eseguire attività comuni con le cartelle di lavoro.