Partager via


Programmation de compléments d'application

Lorsque vous étendez une application Microsoft Office en créant un complément d'application, vous écrivez directement le code par rapport à la classe ThisAddIn de votre projet. Vous pouvez utiliser cette classe pour effectuer des tâches telles qu'accéder au modèle objet de l'application d'hôte Microsoft Office, personnaliser l'interface utilisateur de l'application et exposer des objets de votre complément à d'autres solutions Office.

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets 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.

Certains aspects de l'écriture de code des projets de complément 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é. Pour plus d'informations, consultez Écriture de code dans les solutions Office.

Pour plus d'informations sur les compléments d'application et les autres types de solutions que vous pouvez créer à l'aide des outils de développement Office dans Visual Studio, consultez Vue d'ensemble du développement des solutions Office.

Utilisation de la classe ThisAddIn

Vous pouvez commencer à écrire le code du complément dans la classe ThisAddIn. Visual Studio génère automatiquement cette classe dans le fichier de code ThisAddIn.vb (dans Visual Basic) ou ThisAddIn.cs (en C#) dans votre projet de complément. Visual Studio Tools pour Office Runtime instancie automatiquement cette classe pour vous lorsque l'application Microsoft Office charge votre complément.

La classe ThisAddIn contient deux gestionnaires d'événements par défaut. Pour exécuter du code lorsque le complément est chargé, ajoutez du code au gestionnaire d'événements ThisAddIn_Startup. Pour exécuter du code juste avant que le complément soit déchargé, ajoutez du code au gestionnaire d'événements ThisAddIn_Shutdown. Pour plus d'informations sur la création de gestionnaires d'événements, consultez Événements dans les projets Office.

Notes

Dans Outlook 2010, par défaut, le gestionnaire d'événements ThisAddIn_Shutdown n'est pas toujours appelé lorsque le complément est déchargé. Pour plus d'informations, consultez Événements dans les projets Office.

Accès au modèle objet de l'application hôte

Pour accéder au modèle objet de l'application hôte, utilisez le champ Application de la classe ThisAddIn. Ce champ retourne un objet qui représente l'instance actuelle de l'application hôte. Le tableau suivant indique le type de la valeur de retour pour le champ Application de chaque projet de complément.

Application hôte

Type de valeur de retour

Microsoft Office Excel

Microsoft.Office.Interop.Excel.Application

Microsoft Office InfoPath

Microsoft.Office.Interop.InfoPath.Application

Microsoft Office Outlook

Microsoft.Office.Interop.Outlook.Application

Microsoft Office PowerPoint

Microsoft.Office.Interop.PowerPoint.Application

Microsoft Office Project

Microsoft.Office.Interop.MSProject.Application

Microsoft Office Visio

Microsoft.Office.Interop.Visio.Application

Microsoft Office Word

Microsoft.Office.Interop.Word.Application

L'exemple de code suivant explique comment utiliser le champ Application pour créer un classeur dans un complément pour Microsoft Office Excel. Cet exemple est destiné à être exécuté depuis la classe ThisAddIn.

Dim newWorkbook As Excel.Workbook = Me.Application.Workbooks.Add()
Excel.Workbook newWorkbook = this.Application.Workbooks.Add(System.Type.Missing);

Pour effectuer la même opération en dehors de la classe ThisAddIn, utilisez l'objet Globals pour accéder à la classe ThisAddIn. Pour plus d'informations sur l'objet Globals, consultez Accès global aux objets dans les projets Office.

Dim newWorkbook As Excel.Workbook = Globals.ThisAddIn.Application.Workbooks.Add()
Excel.Workbook newWorkbook = Globals.ThisAddIn.Application.Workbooks.Add(System.Type.Missing);

Pour plus d'informations sur les modèles objet d'applications Microsoft Office spécifiques, consultez les rubriques suivantes :

Membres ThisAddIn à utiliser pour les autres tâches

Le tableau suivant décrit d'autres tâches courantes et montre quels membres de la classe ThisAddIn utiliser pour effectuer ces tâches.

Tâche

Membre à utiliser

Exécuter le code pour initialiser le complément lorsque celui-ci est chargé.

Ajouter le code à la méthode ThisAddIn_Startup. Il s'agit du gestionnaire d'événements par défaut pour l'événement Startup. Pour plus d'informations, consultez Événements dans les projets Office.

Exécuter le code pour nettoyer les ressources utilisées par le complément avant que celui-ci soit déchargé.

Ajouter le code à la méthode ThisAddIn_Shutdown. Il s'agit du gestionnaire d'événements par défaut associé à l'événement Shutdown. Pour plus d'informations, consultez Événements dans les projets Office.

RemarqueRemarque
Dans Outlook 2010, par défaut, le gestionnaire d'événements ThisAddIn_Startup n'est pas toujours appelé lorsque le complément est déchargé.Pour plus d'informations, consultez Événements dans les projets Office.

Afficher un volet de tâches personnalisé.

Utilisez le champ CustomTaskPanes. Pour plus d'informations, consultez Vue d'ensemble des volets de tâches personnalisés.

Créez une balise active qui puisse être reconnue dans tout document Word ou classeur Excel ouvert.

RemarqueRemarque
Les balises actives sont déconseillées dans Excel 2010 et Word 2010.Pour plus d'informations, consultez Vue d'ensemble des balises actives.

Utilisez le champ VstoSmartTags dans un complément pour Excel ou Word. Pour plus d'informations, consultez Vue d'ensemble des balises actives.

Exposer des objets de votre complément à d'autres solutions Microsoft Office.

Remplacez la méthode RequestComAddInAutomationService. Pour plus d'informations, consultez Appel de code dans des compléments d'application à partir d'autres solutions Office.

Personnaliser une fonctionnalité de Microsoft Office en implémentant une interface d'extensibilité.

Substituer la méthode RequestService pour retourner une instance d'une classe qui implémente l'interface. Pour plus d'informations, consultez Personnalisation des fonctionnalités de l'interface utilisateur à l'aide d'interfaces d'extensibilité.

RemarqueRemarque
Pour personnaliser l'interface utilisateur du ruban, vous pouvez également substituer la méthode CreateRibbonExtensibilityObject.

Comprendre la conception de la classe ThisAddIn

Dans les projets qui ciblent le .NET Framework 3.5, la classe ThisAddIn dérive de la classe Microsoft.Office.Tools.AddIn de Visual Studio Tools pour Office Runtime.

Dans les projets qui ciblent le .NET Framework 4, Microsoft.Office.Tools.AddIn est une interface, par conséquent, la classe ThisAddIn générée ne peut pas en dériver d'implémentation. En réalité, la classe ThisAddIn dérive de la classe Microsoft.Office.Tools.AddInBase. Cette classe de base redirige des appels généraux à ses membres vers une implémentation interne de l'interface Microsoft.Office.Tools.AddIn dans Visual Studio Tools pour Office Runtime. Pour plus d'informations sur les différences entre les projets ciblant le .NET Framework 3.5 et le .NET Framework 4 dans Visual Studio Tools pour Office Runtime, consultez Vue d'ensemble de Visual Studio Tools pour Office Runtime.

Dans les projets de complément pour Outlook, la classe ThisAddIn dérive de la classe Microsoft.Office.Tools.Outlook.OutlookAddIn dans les projets qui ciblent le .NET Framework 3.5, et de Microsoft.Office.Tools.Outlook.OutlookAddInBase dans les projets qui ciblent le .NET Framework 4. Ces classes de base fournissent des fonctionnalités supplémentaires permettant la prise en charge des zones de formulaire. Pour plus d'informations sur les zones de formulaire, consultez Création de zones de formulaire Outlook.

Personnalisation de l'interface utilisateur des applications Microsoft Office

Vous pouvez personnaliser par programmation l'interface utilisateur d'applications Microsoft Office à l'aide d'un complément d'application. Par exemple, il est possible de personnaliser le ruban, afficher un volet de tâches personnalisé ou créer une zone de formulaire personnalisée dans Outlook. Pour plus d'informations, consultez Personnalisation de l'interface utilisateur Office.

Visual Studio fournit des concepteurs et des classes que vous pouvez utiliser pour créer des volets de tâches personnalisés, des personnalisations du ruban et des zones de formulaire Outlook. Ces concepteurs et classes facilitent le processus de personnalisation de ces fonctionnalités. Pour plus d'informations, consultez les rubriques Vue d'ensemble des volets de tâches personnalisés, Concepteur de ruban et Création de zones de formulaire Outlook.

Si vous souhaitez personnaliser l'une de ces fonctionnalités d'une manière non prise en charge par les classes et les concepteurs, vous pouvez implémenter une interface d'extensibilité dans votre complément. Pour plus d'informations, consultez Personnalisation des fonctionnalités de l'interface utilisateur à l'aide d'interfaces d'extensibilité.

Vous pouvez également modifier l'interface utilisateur des documents Word et des classeurs Excel en générant des éléments hôtes qui étendent le comportement des documents et des classeurs. Cela vous permet d'ajouter des contrôles managés et des balises actives aux documents et aux feuilles de calcul. Pour plus d'informations, consultez Extension de documents Word et de classeurs Excel dans des compléments d'application au moment de l'exécution..

Appel de code dans des compléments d'application à partir d'autres solutions

Vous pouvez exposer des objets de votre complément à d'autres solutions, notamment à d'autres solutions Microsoft Office. Cette fonctionnalité est utile si votre complément propose un service que vous souhaitez rendre accessible à d'autres solutions. Par exemple, si vous disposez d'un complément pour Microsoft Office Excel qui effectue des calculs sur des données financières d'un service Web, d'autres solutions peuvent effectuer ces calculs en appelant le complément Excel au moment de l'exécution.

Pour plus d'informations, consultez Appel de code dans des compléments d'application à partir d'autres solutions Office.

Voir aussi

Tâches

Procédure pas à pas : appel de code dans un complément d'application à partir de VBA

Comment : créer des projets Office dans Visual Studio

Concepts

Extension de documents Word et de classeurs Excel dans des compléments d'application au moment de l'exécution.

Appel de code dans des compléments d'application à partir d'autres solutions Office

Personnalisation des fonctionnalités de l'interface utilisateur à l'aide d'interfaces d'extensibilité

Architecture des compléments d'application

Écriture de code dans les solutions Office

Autres ressources

Développement de solutions Office