Procédure pas à pas : création de votre premier complément VSTO pour ExcelWalkthrough: Creating Your First VSTO Add-in for Excel

Cette procédure pas à pas d'introduction vous indique comment créer un complément de niveau application pour Microsoft Office Excel.This introductory walkthrough shows you how to create an application-level Add-in for Microsoft Office Excel. Les fonctionnalités que vous créez dans ce type de solution sont accessibles à l'application, quels que soient les classeurs ouverts.The features that you create in this kind of solution are available to the application itself, regardless of which workbooks are open.

S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets de compléments VSTO pour Excel.Applies to: The information in this topic applies to VSTO add-in projects for Excel. Pour plus d’informations, consultez Fonctionnalités disponibles par type d’application et de projet Office.For more information, see Features Available by Office Application and Project Type.

Cette procédure pas à pas décrit les tâches suivantes :This walkthrough illustrates the following tasks:

  • Création d'un projet de complément VSTO Excel pour ExcelCreating an Excel VSTO Add-in project for Excel.

  • Écriture de code qui utilise le modèle objet d'Excel pour ajouter du texte à un classeur quand il est enregistré.Writing code that uses the object model of Excel to add text to a workbook when it is saved.

  • Génération et exécution du projet pour le testerBuilding and running the project to test it.

  • Nettoyage du projet terminé, pour que le complément VSTO ne s’exécute plus automatiquement sur votre ordinateur de développementCleaning up the completed project so that the VSTO Add-in no longer runs automatically on your development computer.

    Note

    Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes.Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments.The Visual Studio edition that you have and the settings that you use determine these elements. Pour plus d'informations, consultez Personnalisation de l'IDE.For more information, see Personalizing the IDE.

PrérequisPrerequisites

Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :You need the following components to complete this walkthrough:

Création du projetCreating the Project

Pour créer un projet de complément VSTO Excel dans Visual StudioTo create a new Excel VSTO Add-in project in Visual Studio

  1. Démarrez Visual StudioVisual Studio.Start Visual StudioVisual Studio.

  2. Dans le menu Fichier , pointez sur Nouveau, puis cliquez sur Projet.On the File menu, point to New, and then click Project.

  3. Dans le volet Modèles, développez Visual C# ou Visual Basic, puis développez Office/SharePoint.In the templates pane, expand Visual C# or Visual Basic, and then expand Office/SharePoint.

  4. Sous le nœud développé Office/SharePoint , sélectionnez le nœud Compléments Office .Under the expanded Office/SharePoint node, select the Office Add-ins node.

  5. Dans la liste des modèles de projet, sélectionnez Complément Excel 2010 ou Complément Excel 2013.In the list of project templates, select Excel 2010 Add-in or Excel 2013 Add-in.

  6. Dans la zone Nom , tapez FirstExcelAddIn.In the Name box, type FirstExcelAddIn.

  7. Cliquez sur OK.Click OK.

    Visual StudioVisual Studio crée le projet FirstExcelAddIn et ouvre le fichier de code ThisAddIn dans l'éditeur. creates the FirstExcelAddIn project and opens the ThisAddIn code file in the editor.

Écriture de code pour ajouter du texte au classeur enregistréWriting Code to Add Text to the Saved Workbook

L'étape suivante consiste à ajouter du code au fichier de code ThisAddIn.Next, add code to the ThisAddIn code file. Le nouveau code utilise le modèle objet d'Excel pour insérer du texte réutilisable dans la première ligne de la feuille de calcul active.The new code uses the object model of Excel to insert boilerplate text in the first row of the active worksheet. La feuille de calcul active est celle qui est ouverte quand l'utilisateur enregistre le classeur.The active worksheet is the worksheet that is open when the user saves the workbook. Par défaut, le fichier de code ThisAddIn contient le code généré suivant :By default, the ThisAddIn code file contains the following generated code:

  • Une définition partielle de la classe ThisAddIn .A partial definition of the ThisAddIn class. Cette classe fournit un point d'entrée pour votre code et offre un accès au modèle objet d'Excel.This class provides an entry point for your code and provides access to the object model of Excel. Pour plus d'informations, consultez Programming VSTO Add-Ins. Le reste de la classe ThisAddIn est défini dans un fichier de code masqué que vous ne devez pas modifier.For more information, see Programming VSTO Add-Ins. The remainder of the ThisAddIn class is defined in a hidden code file that you should not modify.

  • Les gestionnaires d'événements ThisAddIn_Startup et ThisAddIn_Shutdown .The ThisAddIn_Startup and ThisAddIn_Shutdown event handlers. Ces gestionnaires d'événements sont appelés quand Excel charge et décharge votre complément VSTO.These event handlers are called when Excel loads and unloads your VSTO Add-in. Utilisez ces gestionnaires d'événements pour initialiser votre complément VSTO quand il est chargé et pour nettoyer les ressources utilisées par votre complément quand il est déchargé.Use these event handlers to initialize your VSTO Add-in when it is loaded, and to clean up resources used by your Add-in when it is unloaded. Pour plus d'informations, consultez Events in Office Projects.For more information, see Events in Office Projects.

Pour ajouter une ligne de texte au classeur enregistréTo add a line of text to the saved workbook

  1. Dans le fichier de code ThisAddIn, ajoutez le code suivant à la classe ThisAddIn .In the ThisAddIn code file, add the following code to the ThisAddIn class. Le nouveau code définit un gestionnaire d'événements pour l'événement <xref:Microsoft.Office.Interop.Excel.AppEvents_Event.WorkbookBeforeSave> qui est déclenché quand un classeur est enregistré.The new code defines an event handler for the <xref:Microsoft.Office.Interop.Excel.AppEvents_Event.WorkbookBeforeSave> event, which is raised when a workbook is saved.

    Quand l'utilisateur enregistre un classeur, le gestionnaire d'événements ajoute le nouveau texte au début de la feuille de calcul active.When the user saves a workbook, the event handler adds new text at the start of the active worksheet.

    Private Sub Application_WorkbookBeforeSave(ByVal Wb As Microsoft.Office.Interop.Excel.Workbook, ByVal SaveAsUI As Boolean, ByRef Cancel As Boolean) Handles Application.WorkbookBeforeSave
        Dim activeWorksheet As Excel.Worksheet = CType(Application.ActiveSheet, Excel.Worksheet)
        Dim firstRow As Excel.Range = activeWorksheet.Range("A1")
        firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown)
        Dim newFirstRow As Excel.Range = activeWorksheet.Range("A1")
        newFirstRow.Value2 = "This text was added by using code"
    End Sub
    
    void Application_WorkbookBeforeSave(Microsoft.Office.Interop.Excel.Workbook Wb, bool SaveAsUI, ref bool Cancel)
    {
        Excel.Worksheet activeWorksheet = ((Excel.Worksheet)Application.ActiveSheet);
        Excel.Range firstRow = activeWorksheet.get_Range("A1");
        firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown);
        Excel.Range newFirstRow = activeWorksheet.get_Range("A1");
        newFirstRow.Value2 = "This text was added by using code";
    }
    
  2. Si vous utilisez C#, ajoutez le code requis suivant au gestionnaire d'événements ThisAddIn_Startup .If you are using C#, add the following required code to the ThisAddIn_Startup event handler. Ce code permet de connecter le gestionnaire d'événements Application_WorkbookBeforeSave à l'événement <xref:Microsoft.Office.Interop.Excel.AppEvents_Event.WorkbookBeforeSave> .This code is used to connect the Application_WorkbookBeforeSave event handler with the <xref:Microsoft.Office.Interop.Excel.AppEvents_Event.WorkbookBeforeSave> event.

    this.Application.WorkbookBeforeSave += new Microsoft.Office.Interop.Excel.AppEvents_WorkbookBeforeSaveEventHandler(Application_WorkbookBeforeSave);
    

    Pour modifier le classeur quand il est enregistré, les exemples de code précédents utilisent les objets suivants :To modify the workbook when it is saved, the previous code examples use the following objects:

  • Le champ Application de la classe ThisAddIn .The Application field of the ThisAddIn class. Le champ Application retourne un objet Application qui représente l'instance actuelle d'Excel.The Application field returns a Application object, which represents the current instance of Excel.

  • Le paramètre Wb du gestionnaire d'événements pour l'événement <xref:Microsoft.Office.Interop.Excel.AppEvents_Event.WorkbookBeforeSave> .The Wb parameter of the event handler for the <xref:Microsoft.Office.Interop.Excel.AppEvents_Event.WorkbookBeforeSave> event. Le paramètre Wb est un objet Workbook qui représente le classeur enregistré.The Wb parameter is a Workbook object, which represents the saved workbook. Pour plus d'informations, consultez Excel Object Model Overview.For more information, see Excel Object Model Overview.

Test du projetTesting the Project

Pour tester le projetTo test the project

  1. Appuyez sur F5 pour générer et exécuter votre projet.Press F5 to build and run your project.

    Quand vous générez le projet, le code est compilé dans un assembly qui est inclus dans le dossier de sortie de la génération du projet.When you build the project, the code is compiled into an assembly that is included in the build output folder for the project. Visual Studio crée également un jeu d'entrées de Registre qui permet à Excel de détecter et de charger le complément VSTO, et il configure les paramètres de sécurité de l'ordinateur de développement pour permettre au complément VSTO de s'exécuter.Visual Studio also creates a set of registry entries that enable Excel to discover and load the VSTO Add-in, and it configures the security settings on the development computer to enable the VSTO Add-in to run. Pour plus d’informations, consultez génération de Solutions Office.For more information, see Building Office Solutions.

  2. Dans Excel, enregistrez le classeur.In Excel, save the workbook.

  3. Vérifiez que le texte suivant est ajouté au classeur.Verify that the following text is added to the workbook.

    Ce texte a été ajouté via le code.This text was added by using code.

  4. Fermez Excel.Close Excel.

Nettoyage du projetCleaning up the Project

Une fois que vous avez terminé de développer un projet, supprimez l'assembly du complément VSTO, les entrées de Registre et les paramètres de sécurité de votre ordinateur de développement.When you finish developing a project, remove the VSTO Add-in assembly, registry entries, and security settings from your development computer. Sinon, le complément VSTO s'exécute chaque fois que vous ouvrez Excel sur votre ordinateur de développement.Otherwise, the VSTO Add-in will continue to run every time that you open Excel on your development computer.

Pour nettoyer le projet terminé sur votre ordinateur de développementTo clean up the completed project on your development computer

  1. Dans Visual Studio, dans le menu Générer , cliquez sur Nettoyer la solution.In Visual Studio, on the Build menu, click Clean Solution.

Étapes suivantesNext Steps

Maintenant que vous avez créé un complément VSTO de base pour Excel, vous pouvez perfectionner votre connaissance du développement des compléments VSTO en consultant les rubriques suivantes :Now that you have created a basic VSTO Add-in for Excel, you can learn more about how to develop VSTO Add-ins from these topics:

Voir aussiSee Also

Présentation du développement de Solutions Office (VSTO) Office Solutions Development Overview (VSTO)
Solutions Excel Excel Solutions
Programming VSTO Add-Ins Programming VSTO Add-Ins
Vue d’ensemble du modèle d’objet Excel Excel Object Model Overview
Personnalisation de l’interface utilisateur Office Office UI Customization
Génération de Solutions Office Building Office Solutions
Déploiement d’une Solution Office Deploying an Office Solution
Vue d’ensemble des modèles de projet OfficeOffice Project Templates Overview