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 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.

Bb157876.collapse_all(fr-fr,VS.110).gifAccè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 :

Bb157876.collapse_all(fr-fr,VS.110).gifAccè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

Bb157876.collapse_all(fr-fr,VS.110).gifMembres 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, 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é.

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

Bb157876.collapse_all(fr-fr,VS.110).gifComprendre 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

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