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 2013 Preview et Microsoft Office 2010. Pour en savoir plus, 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.
[!REMARQUE]
Dans Outlook, par défaut le gestionnaire d'événements d' 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 :
Accès à un document lorsque l'application démarre Office
Toutes les applications d' Office 2010 ouvrent automatiquement un document lorsque vous les démarrer, et aucune des applications d' Office 2013 n'ouvre un document lorsque vous les faites commencer.Par conséquent, n'ajoutez pas le code dans le gestionnaire d'événements d' ThisAdd-In_Startup si le code a besoin d'un document d'être ouvert.À la place, ajoutez ce code à un événement que l'application Office déclenche lorsqu'un utilisateur crée ou ouvre un document.De cette façon, vous pouvez garantir qu'un document est ouvert pour que votre code s'exécute des opérations sur.
L'exemple de code suivant fonctionne avec un document dans Word que lorsque l'utilisateur crée un document ou ouvre un document existant.
Private Sub ThisAddIn_Startup() Handles Me.Startup
AddHandler Application.NewDocument, AddressOf WorkWithDocument
End Sub
Private Sub WorkWithDocument(ByVal Doc As Microsoft.Office.Interop.Word.Document) _
Handles Application.DocumentOpen
Dim rng As Word.Range = Doc.Range(Start:=0, End:=0)
rng.Text = " New Text "
rng.Select()
End Sub
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, par défaut le gestionnaire d'événements d' 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 Volets de tâches personnalisés. |
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 d' CreateRibbonExtensibilityObject .
|
Comprendre la conception de la classe ThisAddIn
Dans les projets qui ciblent .NET Framework 4, Microsoft.Office.Tools.AddIn est une interface.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.
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, vous pouvez 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 de ruban, et les zones de formulaire Outlook.Ces concepteurs et classes facilitent le processus de personnalisation de ces fonctionnalités.Pour plus d'informations, consultez les rubriques 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é.
En outre, vous pouvez 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 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 avez 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 exécuter 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