Condividi tramite


Scrittura di codice nelle soluzioni Office

Alcuni aspetti della scrittura del codice nei progetti di Office presentano delle differenze rispetto ad altri tipi di progetti in Visual Studio. Molte di queste differenze riguardano la modalità di esposizione dei modelli a oggetti di Office al codice gestito. Le altre differenze sono correlate alla progettazione di progetti di Office.

Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Microsoft Office 2010 e Microsoft Office System 2007. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.

Codice gestito e programmazione Office

La tecnologia fondamentale che consente di creare una soluzione Microsoft Office integrata è costituita dall'automazione, che fa parte della tecnologia COM (Component Object Model). Grazie all'automazione è possibile utilizzare codice per creare e controllare gli oggetti software esposti da qualsiasi applicazione, DLL o controllo ActiveX in grado di supportare le interfacce appropriate a livello di codice.

Informazioni sugli assembly di interoperabilità primari

La maggior parte delle funzionalità delle applicazioni di Microsoft Office viene esposta per l'automazione. Non è tuttavia possibile utilizzare direttamente il codice gestito, ad esempio Visual Basic o C#, per automatizzare le applicazioni di Office. Per automatizzare le applicazioni di Office mediante il codice gestito, è necessario utilizzare gli assembly di interoperabilità primari di Office. Gli assembly di interoperabilità primari consentono l'interazione tra il codice gestito e il modello a oggetti COM delle applicazioni di Office.

Ogni applicazione di Microsoft Office dispone di un assembly di interoperabilità primario. Quando si utilizza Visual Studio per creare un progetto di Office, al progetto viene automaticamente aggiunto un riferimento all'assembly di interoperabilità primario appropriato. Per automatizzare le funzionalità di altre applicazioni di Office dal progetto, è necessario aggiungere manualmente un riferimento all'assembly di interoperabilità primario appropriato. Per ulteriori informazioni, vedere Procedura: sviluppare applicazioni di Office mediante gli assembly di interoperabilità primari.

Utilizzo degli assembly di interoperabilità primari in fase di progettazione ed esecuzione

Per eseguire la maggior parte delle attività di sviluppo è necessario che gli assembly di interoperabilità primari di Office siano installati e registrati nella Global Assembly Cache del computer di sviluppo. Per ulteriori informazioni, vedere Configurazione di un computer per sviluppare soluzioni Office.

È necessario installare gli assembly di interoperabilità primari anche nei computer degli utenti finali per eseguire soluzioni Office che hanno .NET Framework 3.5 come destinazione. Tuttavia, gli assembly di interoperabilità primari di Office non sono richiesti nei computer degli utenti finali per eseguire soluzioni Office che hanno .NET Framework 4 come destinazione. Per ulteriori informazioni, vedere Progettazione e creazione di soluzioni Office.

Utilizzo dei tipi negli assembly di interoperabilità primari

Gli assembly di interoperabilità primari di Office contengono una combinazione di tipi che espongono il modello a oggetti delle applicazioni di Office e i tipi aggiuntivi dell'infrastruttura che non possono essere utilizzati direttamente nel codice. Per cenni preliminari sui tipi negli assembly di interoperabilità primari di Office, vedere Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Poiché i tipi negli assembly di interoperabilità primari di Office corrispondono ai tipi nei modelli a oggetti COM, la modalità di utilizzo di questi tipi spesso è differente dagli altri tipi gestiti. Ad esempio, la modalità di chiamata dei metodi che hanno parametri facoltativi in un assembly di interoperabilità primario di Office varia in base al linguaggio di programmazione che si sta utilizzando nel progetto. Per ulteriori informazioni, vedere i seguenti argomenti:

Modello di programmazione di progetti di Office

Tutti i progetti di Office includono una o più classi generate che forniscono il punto di ingresso per il codice. Queste classi forniscono anche accesso al modello a oggetti dell'applicazione host e accesso a funzionalità quali riquadri azioni e riquadri attività personalizzati.

Informazioni sulle classi generate

In progetti a livello di documento per Excel e Word, la classe generata assomiglia a un oggetto di primo livello nel modello a oggetti dell'applicazione. Ad esempio, la classe generata ThisDocument di un progetto a livello di documento di Word fornisce gli stessi membri della classe Microsoft.Office.Interop.Word.Document del modello a oggetti di Word. Per ulteriori informazioni sulle classi generate nei progetti a livello di documento, vedere Programmazione delle personalizzazioni a livello di documento.

I progetti a livello di applicazione forniscono una classe generata denominata ThisAddIn. Questa classe non assomiglia a una classe del modello a oggetti dell'applicazione host. Piuttosto, questa classe rappresenta il componente aggiuntivo stesso e fornisce membri che è possibile utilizzare per accedere al modello a oggetti dell'applicazione host e ad altre funzionalità disponibili per i componenti aggiuntivi. Per ulteriori informazioni, vedere Programmazione di componenti aggiuntivi a livello di applicazione.

Tutte le classi generate nei progetti di Office includono gestori eventi Startup e Shutdown. Per iniziare a scrivere codice, in genere viene aggiunto codice a questi gestori eventi. Per inizializzare il componente aggiuntivo, è possibile aggiungere codice al gestore eventi Startup. Per liberare le risorse utilizzate dal componente aggiuntivo è possibile aggiungere codice al gestore eventi Shutdown. Per ulteriori informazioni, vedere Eventi nei progetti di Office.

Accesso alle classi generate in fase di esecuzione

Quando viene caricata una soluzione Office, Runtime di Visual Studio Tools per Office crea un'istanza di ognuna delle classi generate nel progetto. È possibile accedere a questi oggetti da qualsiasi elemento di codice del progetto tramite la classe Globals. Ad esempio, è possibile utilizzare la classe Globals per chiamare codice nella classe ThisAddIn da un gestore eventi di un pulsante della barra multifunzione in un componente aggiuntivo a livello di applicazione.

Per ulteriori informazioni, vedere Accesso globale a oggetti nei progetti di Office.

Vedere anche

Attività

Procedura: sviluppare applicazioni di Office mediante gli assembly di interoperabilità primari

Procedura: creare gestori eventi in progetti di Office

Associazione tardiva nelle soluzioni Office

Concetti

Linguaggi di programmazione supportati nei progetti di Office

Confronto tra programmazione con Visual Basic e con Visual C# nelle soluzioni Office

Parametri facoltativi nelle soluzioni Office

Accesso globale a oggetti nei progetti di Office

Eventi nei progetti di Office

Considerazioni sugli spazi dei nomi nelle soluzioni Office

Utilizzo di My nei progetti di Office

Frammenti di codice IntelliSense nei progetti di Office

Sviluppo collaborativo di soluzioni Office