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 InfoPath |
|
Microsoft Office Outlook |
|
Microsoft Office PowerPoint |
|
Microsoft Office Project |
Microsoft.Office.Interop.MSProject.Application |
Microsoft Office Visio |
Microsoft.Office.Interop.Visio.Application |
Microsoft Office Word |
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.
Remarque
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.
Remarque
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é.
Remarque
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
Appel de code dans des compléments d'application à partir d'autres solutions Office
Architecture des compléments d'application
Écriture de code dans les solutions Office