Partager via


Écriture de code dans les solutions Office

Certains aspects de l'écriture de code dans des projets Office diffèrent des autres types de projets dans Visual Studio. Une grande partie de ces différences sont liées à la façon dont les modèles objet Office sont exposés au code managé. Les autres différences sont liées la conception des projets Office.

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour Microsoft Office 2010 et la version 2007 de Microsoft® Office System. Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Code managé et programmation Office

La technologie clé qui permet de créer une solution Microsoft Office intégrée est Automation ; elle fait partie de la technologie COM (Component Object Model). L'automation vous permet d'utiliser du code pour créer et contrôler les objets logiciels exposés par une application, une DLL ou un contrôle ActiveX prenant en charge les interfaces de programmation appropriées.

Fonctionnement des assemblys PIA (Primary Interop Assembly)

Les applications Microsoft Office exposent une grande part de leurs fonctionnalités à Automation. Toutefois, vous ne pouvez pas utiliser de code managé (tel que Visual Basic ou C#) directement pour automatiser des applications Office. Pour automatiser des applications Office à l'aide de code managé, vous devez utiliser les assemblys PIA (Primary Interop Assembly) d'Office. Ces assemblys permettent au code managé d'interagir avec le modèle objet COM des applications Office.

Chaque application Microsoft Office possède un assembly PIA. Lorsque vous créez un projet Office dans Visual Studio, une référence au PIA approprié est automatiquement ajoutée au projet. Pour automatiser les fonctionnalités d'autres applications Office à partir du projet, vous devez ajouter une référence à l'assembly PIA approprié manuellement. Pour plus d'informations, consultez Comment : cibler les applications Office via les assemblys PIA (Primary Interop Assembly).

Utilisation d'assemblys PIA (Primary Interop Assembly) au moment du design et au moment de l'exécution

Pour que vous puissiez effectuer la plupart des tâches de développement, les assemblys PIA d'Office doivent être installés et inscrits dans le Global Assembly Cache de votre ordinateur de développement. Pour plus d'informations, consultez Configuration d'un ordinateur pour développer des solutions Office.

Les assemblys PIA doivent également être installés sur les ordinateurs des utilisateurs finaux pour l'exécution des solutions Office qui ciblent le .NET Framework 3.5. Toutefois, les assemblys PIA d'Office ne sont pas obligatoires sur les ordinateurs des utilisateurs finaux pour l'exécution des solutions Office qui ciblent le .NET Framework 4. Pour plus d'informations, consultez Conception et création de solutions Office.

Utilisation de types dans les assemblys PIA (Primary Interop Assembly)

Les assemblys PIA Office contiennent une combinaison de types qui exposent le modèle objet des applications Office et d'autres types d'infrastructure qui ne sont pas prévus pour être utilisés directement dans votre code. Pour une vue d'ensemble des types des assemblys PIA Office, consultez Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Étant donné que les types des assemblys PIA d'Office correspondent aux types des modèles objet COM, la façon dont vous utilisez ces types diffère souvent des autres types managés. Par exemple, la façon dont vous appelez les méthodes possédant des paramètres optionnels dans un assembly PIA (Primary Interop Assembly) d'Office dépend du langage de programmation utilisé dans le projet. Pour plus d'informations, consultez les rubriques suivantes :

Modèle de programmation des projets Office

Tous les projets Office incluent une ou plusieurs classes générées qui fournissent le point d'entrée de votre code. Ces classes fournissent également l'accès au modèle objet de l'application hôte, ainsi qu'aux fonctionnalités telles que les volets Actions et les volets de tâches personnalisés.

Fonctionnement des classes générées

Dans les projets de niveau document pour Excel et Word, la classe générée ressemble à un objet de niveau supérieur du modèle objet de l'application. Par exemple, la classe générée ThisDocument d'un projet de document Word fournit les mêmes membres que la classe Microsoft.Office.Interop.Word.Document du modèle objet Word. Pour plus d'informations sur les classes générées dans les projets de niveau document, consultez Programmation de personnalisations au niveau du document.

Les projets de niveau application fournissent une classe générée intitulée ThisAddIn. Cette classe ne ressemble pas à une classe du modèle objet de l'application hôte. Elle représente plutôt le complément lui-même et fournit des membres que vous pouvez utiliser pour accéder au modèle objet de l'application hôte et aux autres fonctionnalités disponibles aux compléments. Pour plus d'informations, consultez Programmation de compléments d'application.

Toutes les classes générées des projets Office incluent des gestionnaires d'événements Startup et Shutdown. Pour commencer à écrire du code, vous ajoutez généralement ce code à ces gestionnaires d'événements. Pour initialiser votre complément, vous pouvez ajouter du code au gestionnaire d'événements Startup. Pour nettoyer les ressources utilisées par votre complément, vous pouvez ajouter du code au gestionnaire d'événements Shutdown. Pour plus d'informations, consultez Événements dans les projets Office.

Accès aux classes générées au moment de l'exécution

Lorsqu'une solution Office est chargée, le Visual Studio Tools pour Office Runtime instancie chacune des classes générées dans votre projet. Vous pouvez accéder à ces objets à partir du code de votre projet à l'aide de la classe Globals. Par exemple, vous pouvez utiliser la classe Globals pour appeler le code de la classe ThisAddIn à partir d'un gestionnaire d'événements d'un bouton de ruban dans un complément d'application.

Pour plus d'informations, consultez Accès global aux objets dans les projets Office.

Voir aussi

Tâches

Comment : cibler les applications Office via les assemblys PIA (Primary Interop Assembly)

Comment : créer des gestionnaires d'événements dans les projets Office

Liaison tardive dans les solutions Office

Concepts

Langages de programmation pris en charge dans les projets Office

Programmation avec Visual Basic et Visual C# dans les solutions Office

Paramètres optionnels dans les solutions Office

Accès global aux objets dans les projets Office

Événements dans les projets Office

Considérations sur les espaces de noms dans les solutions Office

Utilisation de My dans les projets Office

Extraits de code IntelliSense dans les projets Office

Développement collaboratif de solutions Office