Cenni preliminari sul 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 descritti gli oggetti più importanti:
Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Excel 2007 ed Excel 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.
Il modello a oggetti è strettamente basato sull'interfaccia utente. L'oggetto Application rappresenta l'intera applicazione e ogni oggetto Workbook contiene un insieme di oggetti Worksheet. Al livello immediatamente inferiore, la principale astrazione che rappresenta le celle è costituita dall'oggetto Range che consente di utilizzare 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 del modello a oggetti di Excel. Gli elementi e i controlli host si comportano come gli oggetti di Excel che vengono estesi, ma dispongono anche di funzionalità aggiuntive, ad esempio funzionalità di associazione dei dati ed eventi aggiuntivi. Per ulteriori informazioni, vedere Automazione di Excel utilizzando oggetti estesi e Cenni preliminari sugli elementi e sui controlli host.
In questo argomento viene fornita una breve panoramica del modello a oggetti di Excel. Per risorse con ulteriori informazioni sull'intero modello a oggetti di Excel, vedere Utilizzo della documentazione sul modello a oggetti di Excel.
Per una dimostrazione video correlata, vedere How Do I: Use Event Handlers in an Excel 2007 Add-in? e How Do I: Use Shapes to Create a Bubble Chart in Excel? (le pagine potrebbero essere in inglese).
Accesso a oggetti in un progetto Excel
Quando si crea un nuovo progetto a livello di applicazione per Excel, in Visual Studio viene automaticamente creato un file di codice denominato ThisAddIn.vb o ThisAddIn.cs. È possibile accedere all'oggetto Application utilizzando Me.Application o this.Application.
Quando si crea un nuovo progetto a livello di documento per Excel, è possibile creare un nuovo progetto relativo alla cartella di lavoro o al modello di Excel. In Visual Studio vengono automaticamente creati i file di codice riportati di seguito nel nuovo progetto di Excel per i progetti relativi alla cartella di lavoro e al modello.
Visual Basic |
C# |
---|---|
ThisWorkbook.vb |
ThisWorkbook.cs |
Sheet1.vb |
Sheet1.cs |
Sheet2.vb |
Sheet2.cs |
Sheet3.vb |
Sheet3.cs |
Utilizzare la classe Globals nel progetto per accedere a ThisWorkbook, Sheet1, Sheet2 o a Sheet3 dall'esterno della rispettiva classe. Per ulteriori informazioni, vedere Accesso globale a oggetti nei progetti di Office. Nell'esempio che segue il metodo PrintPreview di Sheet1 viene richiamato a prescindere dal fatto che il codice sia posizionato in una delle classi Sheetn o nella classe ThisWorkbook.
Globals.Sheet1.PrintPreview()
Globals.Sheet1.PrintPreview(missing);
Poiché i dati in un documento di Excel sono estremamente strutturati, il modello a oggetti è gerarchico e diretto. Sebbene in Excel siano disponibili centinaia di oggetti con cui è possibile interagire, per comprendere il modello a oggetti è sufficiente concentrarsi su una piccola parte degli oggetti disponibili. Tali oggetti sono i seguenti quattro:
Applicazione
Cartella di lavoro
Foglio di lavoro
Intervallo
La maggior parte delle operazioni effettuate in Excel coinvolge questi quattro oggetti e i relativi membri.
Oggetto Application
L'oggetto Application di Excel rappresenta l'applicazione Excel stessa. L'oggetto Application espone numerose informazioni sull'applicazione in esecuzione, le opzioni applicate a tale istanza e gli oggetti dell'utente corrente aperti all'interno dell'istanza.
Nota
In Microsoft Excel non impostare la proprietà EnableEvents dell'oggetto Application su false. L'impostazione di questa proprietà su False impedisce ad Excel di generare eventi, compresi quelli dei controlli host.
Oggetto Workbook
L'oggetto Microsoft.Office.Interop.Excel.Workbook rappresenta una singola cartella di lavoro all'interno dell'applicazione Excel.
Gli strumenti di sviluppo di Office in Visual Studio estendono l'oggetto Microsoft.Office.Interop.Excel.Workbook fornendo il tipo Microsoft.Office.Tools.Excel.Workbook. Tale tipo consente l'accesso a tutte le funzionalità di un oggetto Microsoft.Office.Interop.Excel.Workbook e a nuove funzionalità, ad esempio la possibilità di aggiungere smart tag a una cartella di lavoro. Per ulteriori informazioni, vedere Elemento host cartella di lavoro.
Nota
Gli smart tag sono deprecati in Excel 2010 e Word 2010. Per ulteriori informazioni, vedere Cenni preliminari sugli smart tag.
Oggetto Worksheet
L'oggetto Microsoft.Office.Interop.Excel.Worksheet è un membro dell'insieme Worksheets. La maggior parte delle proprietà, dei metodi e degli eventi dell'oggetto Microsoft.Office.Interop.Excel.Worksheet è identica o simile ai membri forniti dagli oggetti Application o Microsoft.Office.Interop.Excel.Workbook.
Excel fornisce una raccolta Sheets come proprietà di un oggetto Microsoft.Office.Interop.Excel.Workbook. Ogni membro dell'insieme Sheets è un oggetto Microsoft.Office.Interop.Excel.Worksheet o Microsoft.Office.Interop.Excel.Chart.
Gli strumenti di sviluppo di Office in Visual Studio estendono l'oggetto Microsoft.Office.Interop.Excel.Worksheet fornendo il tipo Microsoft.Office.Tools.Excel.Worksheet. Tale tipo consente l'accesso a tutte le funzionalità di un oggetto Microsoft.Office.Interop.Excel.Worksheet e a nuove funzionalità, ad esempio la possibilità di ospitare controlli gestiti e di gestire nuovi eventi. Per ulteriori informazioni, vedere Elemento host foglio di lavoro.
Oggetto Range
L'oggetto Microsoft.Office.Interop.Excel.Range è il più utilizzato nelle applicazioni basate su Excel. Per poter modificare un'area all'interno di Excel, è necessario rappresentarla come oggetto Range e utilizzare i metodi e le proprietà di tale oggetto. Un oggetto Range può rappresentare una cella, una riga, una colonna, una selezione di celle contenente uno o più blocchi di celle, contigui o non contigui o anche un gruppo costituito da celle situate in più fogli.
In Visual Studio l'oggetto Microsoft.Office.Interop.Excel.Range viene esteso fornendo i tipi Microsoft.Office.Tools.Excel.NamedRange e Microsoft.Office.Tools.Excel.XmlMappedRange. Questi tipi dispongono della maggior parte delle stesse funzionalità dell'oggetto Microsoft.Office.Interop.Excel.Range, oltre a nuove funzionalità come capacità di associazione dei dati e nuovi eventi. Per ulteriori informazioni, vedere Controllo NamedRange e Controllo XmlMappedRange.
Utilizzo della documentazione sul modello a oggetti di Excel
Per informazioni complete sul modello a oggetti di Excel, vedere la documentazione di riferimento degli assembly di interoperabilità primari di Excel e del modello a oggetti di VBA.
Riferimento all'assembly di interoperabilità primario
Nella documentazione di riferimento degli assembly di interoperabilità primari (PIA) di Excel sono descritti i tipi di assembly di interoperabilità primari per Excel. Questa documentazione è disponibile dal seguente percorso: Riferimento degli assembly di interoperabilità primari di Excel 2010.
Nota
Non è al momento disponibile documentazione per l'assembly di interoperabilità primario di Excel 2007. Tuttavia, i tipi nell'assembly di interoperabilità primario di Excel 2007 sono inclusi anche nell'assembly di interoperabilità primario per Excel 2010, pertanto le informazioni contenute in questa documentazione di riferimento si applicano anche a Excel 2007.
Per ulteriori informazioni sulla progettazione degli assembly di interoperabilità primari di Excel, 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 Excel e come viene esposto al codice Visual Basic, Applications Edition (VBA). La documentazione di riferimento del modello a oggetti di VBA per Excel è disponibile nei percorsi seguenti:
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 Excel. Ad esempio, l'oggetto Worksheet nel riferimento del modello a oggetti di VBA corrisponde all'oggetto Microsoft.Office.Interop.Excel.Worksheet nell'assembly di interoperabilità primario (PIA) di Excel. 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 di Excel creato mediante Visual Studio.
Argomenti correlati
Titolo |
Descrizione |
---|---|
Procedura: creare un modello di integrazione applicativa dei dati |
Viene illustrato come creare componenti aggiuntivi a livello di applicazione e personalizzazioni a livello di documento per applicazioni di Microsoft Office Excel. |
Vengono forniti esempi che illustrano come eseguire attività comuni con le celle. |
|
Vengono forniti esempi che illustrano come eseguire attività comuni con gli intervalli. |
|
Vengono forniti esempi che illustrano come eseguire attività comuni con i fogli di lavoro. |
|
Vengono forniti esempi che illustrano come eseguire attività comuni con le cartelle di lavoro. |
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Maggio 2010 |
Aggiornamento delle informazioni sulla documentazione di riferimento del modello a oggetti. |
Miglioramento delle informazioni. |