Condividi tramite


Cenni preliminari sul modello a oggetti di Excel

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Progetti a livello di documento

  • Progetti a livello di applicazione

Versione Microsoft Office

  • Excel 2003

  • Excel 2007

Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazione.

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

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.

Visual Studio Tools per Office estende molti di questi oggetti nativi in elementi host e controlli host che è possibile utilizzare in personalizzazioni a livello di documento. Questi controlli dispongono di funzionalità aggiuntive, che includono caratteristiche ed eventi di associazione dati. Un oggetto Excel Microsoft.Office.Interop.Excel.Range nativo, ad esempio, viene esteso in un controllo Microsoft.Office.Tools.Excel.NamedRange, che può essere associato ai dati ed espone gli eventi. Per ulteriori informazioni sugli elementi host e sui controlli host, vedere Oggetti estesi in progetti a livello di documento.

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.

Accesso a oggetti in un progetto Excel

Quando si crea un nuovo progetto a livello di applicazione per Excel utilizzando Visual Studio Tools per Office, 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 in Visual Studio Tools per Office, può trattarsi di un progetto Cartella di lavoro di Excel o Modello di Excel. Visual Studio Tools per Office consente di creare automaticamente i file di codice indicati di seguito nel nuovo progetto Excel, sia per il progetto cartella di lavoro, sia per il progetto modello.

Visual Basic

C#

ThisWorkbook.vb

ThisWorkbook.cs

Sheet1.vb

Sheet1.cs

Sheet2.vb

Sheet2.cs

Sheet3.vb

Sheet3.cs

Utilizzare la classe globale Globals per accedere a ThisWorkbook, Sheet1, Sheet2 o a Sheet3 dall'esterno della classe rispettiva. Per ulteriori informazioni, vedere la classe Accesso globale agli oggetti nei progetti Visual Studio Tools per Office. Nell'esempio che segue il metodo PrintPreview di Sheet1 viene richiamato indipendentemente dal fatto che il codice sia posizionato nella classe Sheet o nella classe Workbook.

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 queste quattro classi 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

La classe Microsoft.Office.Interop.Excel.Workbook rappresenta una sola cartella di lavoro all'interno dell'applicazione di Excel.

Visual Studio Tools per Office estende la classe Microsoft.Office.Interop.Excel.Workbook tramite la classe Microsoft.Office.Tools.Excel.Workbook che fornisce l'accesso a tutti i membri dell'insieme Workbooks oltre alle funzionalità di associazione dati e altri eventi.

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 dalla classe Application o Microsoft.Office.Interop.Excel.Workbook.

Excel fornisce un insieme Sheets come proprietà di un oggetto Microsoft.Office.Interop.Excel.Workbook, ma in Excel non è presente alcuna classe Sheet. Ogni membro dell'insieme Sheets è un oggetto Microsoft.Office.Interop.Excel.Worksheet o Microsoft.Office.Interop.Excel.Chart.

Per una personalizzazione a livello di documento, Visual Studio Tools per Office fornisce un elemento host Microsoft.Office.Tools.Excel.Worksheet e crea tre istanze nei nuovi progetti: Sheet1, Sheet2 e Sheet3. È possibile accedere a uno di questi fogli tramite il riferimento Globals. Visual Studio Tools per Office consente di estendere l'oggetto Microsoft.Office.Interop.Excel.Worksheet, fornendo l'elemento host Microsoft.Office.Tools.Excel.Worksheet.

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.

Per una personalizzazione a livello di documento, Visual Studio Tools per Office introduce due controlli host di intervallo: Microsoft.Office.Tools.Excel.NamedRange e Microsoft.Office.Tools.Excel.XmlMappedRange. Per ulteriori informazioni sui controlli host, vedere Cenni preliminari sugli elementi e sui controlli host.

Oggetti estesi in progetti a livello di documento

È importante comprendere le differenze tra gli oggetti nativi forniti dal modello a oggetti di Excel e gli oggetti estesi (elementi host e controlli host) forniti da Visual Studio Tools per Office. Entrambi i tipi di oggetti sono disponibili per i progetti a livello di documento.

Le differenze sono raggruppabili nelle seguenti quattro categorie:

  • Fase di progettazione. Quando in fase di progettazione si aggiunge uno qualsiasi degli oggetti di Excel estesi, questi vengono creati automaticamente come elementi host e controlli host. Se, ad esempio, si aggiunge un elenco a una cartella di lavoro nella finestra di progettazione, il codice viene generato automaticamente per estendere l'elenco in un controllo Microsoft.Office.Tools.Excel.ListObject.

  • Fase di esecuzione. Gli elementi host non vengono creati automaticamente in fase di esecuzione. Se si aggiungono cartelle di lavoro, fogli di lavoro o fogli grafici in fase di esecuzione, questi sono oggetti nativi di Excel e non possiedono le funzionalità aggiuntive fornite dagli elementi host. A livello di codice è possibile aggiungere molti dei controlli host. Per ulteriori informazioni, vedere Cenni preliminari sugli elementi e sui controlli host.

  • Associazione dati ed eventi. Gli elementi host e i controlli host sono dotati di funzionalità di associazione dati ed eventi, non disponibili per gli oggetti nativi.

  • Tipi. Gli oggetti nativi Excel utilizzano i tipi definiti nello spazio dei nomi Microsoft.Office.Interop.Excel, mentre gli elementi e i controlli host utilizzano i tipi aggregati definiti nello spazio dei nomi Microsoft.Office.Tools.Excel.

Utilizzo della documentazione sul modello a oggetti di Excel

Per informazioni sulle classi utilizzabili nel modello a oggetti di Excel, vedere i seguenti argomenti della documentazione:

Il primo collegamento fornisce informazioni sulle classi e sulle interfacce nell'assembly di interoperabilità primario per Excel. L'altro collegamento fornisce informazioni sul modello a oggetti di Excel esposto al codice Visual Basic, Applications Edition (VBA). Ogni argomento della documentazione presenta vantaggi e svantaggi per gli sviluppatori che utilizzano Visual Studio Tools per Office.

Riferimento all'assembly di interoperabilità primario

In questa documentazione vengono descritti tutti i tipi nell'assembly di interoperabilità primario di Excel che è possibile utilizzare nei progetti Visual Studio Tools per Office. Tuttavia, questa documentazione presenta gli svantaggi seguenti:

  • Sono descritti solo i tipi nell'assembly di interoperabilità primario per Excel 2003. Per le descrizioni di tipi e dei membri nuovi nell'assembly di interoperabilità primario per Excel 2007, è necessario utilizzare il riferimento a VBA per Excel 2007.

  • Al momento non viene fornito alcun esempio di codice.

Riferimento a VBA

Tutti gli oggetti e i membri nel riferimento a VBA corrispondono a classi e membri nell'assembly di interoperabilità primario utilizzato nei progetti Visual Studio Tools per Office. Ad esempio, l'oggetto Worksheet nella documentazione VBA per Excel corrisponde alla classe Microsoft.Office.Interop.Excel.Worksheet nell'assembly di interoperabilità primario.

Il riferimento a VBA presenta i vantaggi seguenti:

  • Documenta i modelli a oggetti di Excel 2007 e Excel 2003.

  • Fornisce esempi di codice per la maggior parte dei membri.

Il riferimento a VBA presenta gli svantaggi seguenti:

  • Fornisce sintassi ed esempi di codice unicamente per VBA. Per utilizzare gli esempi di codice in un progetto Visual Studio Tools per Office, è necessario convertire il codice VBA in Visual Basic o Visual C#.

Tipi aggiuntivi negli assembly di interoperabilità primari

Gli assembly di interoperabilità primari contengono molti tipi non disponibili per VBA. Questi tipi aggiuntivi, che consentono di convertire gli oggetti del modello a oggetti COM di Excel nel codice gestito, non possono essere utilizzati direttamente nel codice.

Per ulteriori informazioni, vedere Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Vedere anche

Concetti

Soluzioni Excel

Sviluppo di componenti aggiuntivi a livello di applicazione per Excel

Gestione delle celle

Utilizzo degli intervalli

Utilizzo dei fogli di lavoro

Utilizzo delle cartelle di lavoro

Sviluppo di personalizzazioni a livello di documento per Excel

Cenni preliminari sul modello a oggetti di Word

Cenni preliminari sugli elementi e sui controlli host

Limitazioni a livello di codice degli elementi e dei controlli host

Informazioni sui parametri facoltativi nelle soluzioni Office

Altre risorse

Controlli host di Excel