Comment : ajouter des contrôles Windows Forms à des documents OfficeHow to: Add Windows Forms controls to Office documents

Vous pouvez ajouter des contrôles Windows Forms à des documents Microsoft Office Excel et Microsoft Office Word au moment du design dans les projets au niveau du document.You can add Windows Forms controls to Microsoft Office Excel and Microsoft Office Word documents at design time in document-level projects. Lors de l’exécution, vous pouvez ajouter des contrôles dans les personnalisations au niveau du document et des Compléments VSTO. Par exemple, vous pouvez ajouter un contrôle ComboBox à votre feuille de calcul pour que les utilisateurs puissent sélectionner une option dans une liste.At runtime, you can add controls in document-level customizations and in VSTO Add-ins. For example, you can add a ComboBox control to your worksheet so that users can select from a list of options.

S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets de niveau document et aux projets de compléments VSTO pour Excel et Word.Applies to: The information in this topic applies to document-level projects and VSTO add-in projects for Excel and Word. 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 rubrique décrit les tâches suivantes :This topic describes the following tasks:

Ajouter des contrôles au moment du designAdd controls at design time

Il existe plusieurs façons d'ajouter des contrôles Windows Forms au document dans un projet au niveau du document au moment du design.There are several ways to add Windows Forms controls to the document in a document-level project at design time.

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

Pour faire glisser un contrôle Windows Forms vers le documentTo drag a Windows Forms control to the document

  1. Créez ou ouvrez un projet de classeur Excel ou un projet de document Word dans Visual Studio pour que le document soit visible dans le concepteur.Create or open an Excel Workbook project or Word Document project in Visual Studio so that the document is visible in the designer. Pour plus d’informations sur la création de projets, consultez Comment : les projets Office de créer dans Visual Studio.For information on creating projects, see How to: Create Office projects in Visual Studio.

  2. Dans le contrôles communs onglet de la boîte à outils, cliquez sur le contrôle que vous souhaitez ajouter et faites-le glisser vers le document.In the Common Controls tab of the Toolbox, click the control you want to add, and drag it to the document.

    Note

    Quand vous sélectionnez un contrôle dans Excel, vous voyez =EMBED("WinForms.Control.Host","") dans la Barre de formule.When you select a control in Excel, you will see =EMBED("WinForms.Control.Host","") in the Formula Bar. Ce texte est nécessaire et ne doit pas être supprimé.This text is necessary and should not be deleted.

Pour dessiner un contrôle Windows Forms sur le documentTo draw a Windows Forms control on the document

  1. Créez ou ouvrez un projet de classeur Excel ou un projet de document Word dans Visual Studio pour que le document soit visible dans le concepteur.Create or open an Excel Workbook project or Word Document project in Visual Studio so that the document is visible in the designer. Pour plus d’informations sur la création de projets, consultez Comment : les projets Office de créer dans Visual Studio.For information on creating projects, see How to: Create Office projects in Visual Studio.

  2. Dans le contrôles communs onglet de la boîte à outils, cliquez sur le contrôle que vous souhaitez ajouter.In the Common Controls tab of the Toolbox, click the control you want to add.

  3. Dans le document, cliquez à l'endroit où l'angle supérieur gauche du contrôle doit se trouver, puis faites glisser le curseur vers l'endroit où l'angle inférieur droit du contrôle doit se trouver.On the document, click where you want the upper-left corner of the control to be located, and drag to where you want the lower-right corner of the control to be located.

    Le contrôle est ajouté au document avec l'emplacement et la taille spécifiés.The control is added to the document with the specified location and size.

    Note

    Lorsque vous sélectionnez un contrôle dans Excel, vous verrez =EMBED("WinForms.Control.Host","") dans les la barre de formule.When you select a control in Excel, you will see =EMBED("WinForms.Control.Host","") in the Formula Bar. Ce texte est nécessaire et ne doit pas être supprimé.This text is necessary and should not be deleted.

Pour ajouter un contrôle Windows Forms au document en cliquant une fois sur le contrôleTo add a Windows Forms control to the document by single-clicking the control

  1. Créez ou ouvrez un projet de classeur Excel ou un projet de document Word dans Visual Studio pour que le document soit visible dans le concepteur.Create or open an Excel Workbook project or Word Document project in Visual Studio so that the document is visible in the designer. Pour plus d’informations sur la création de projets, consultez Comment : les projets Office de créer dans Visual Studio.For information on creating projects, see How to: Create Office projects in Visual Studio.

  2. Dans le contrôles communs onglet de la boîte à outils, cliquez sur le contrôle que vous souhaitez ajouterIn the Common Controls tab of the Toolbox, click the control you want to add

  3. Dans le document, cliquez à l'emplacement où vous souhaitez ajouter le contrôle.One the document, click where you want the control to be added.

    Le contrôle est ajouté au document avec la taille par défaut.The control is added to the document with the default size.

    Note

    Quand vous sélectionnez un contrôle dans Excel, vous voyez =EMBED("WinForms.Control.Host","") dans la Barre de formule.When you select a control in Excel, you will see =EMBED("WinForms.Control.Host","") in the Formula Bar. Ce texte est nécessaire et ne doit pas être supprimé.This text is necessary and should not be deleted.

Pour ajouter un contrôle Windows Forms au document en double-cliquant sur le contrôleTo add a Windows Forms control to the document by double-clicking the control

  1. Créez ou ouvrez un projet de classeur Excel ou un projet de document Word dans Visual Studio pour que le document soit visible dans le concepteur.Create or open an Excel Workbook project or Word Document project in Visual Studio so that the document is visible in the designer. Pour plus d’informations sur la création de projets, consultez Comment : les projets Office de créer dans Visual Studio.For information on creating projects, see How to: Create Office projects in Visual Studio.

  2. Dans le contrôles communs onglet de la boîte à outils, double-cliquez sur le contrôle que vous souhaitez ajouter.In the Common Controls tab of the Toolbox, double-click the control you want to add.

    Le contrôle est ajouté au document, au centre de ce dernier ou du volet actif.The control is added to the document at the center of the document or active pane.

    Note

    Quand vous sélectionnez un contrôle dans Excel, vous voyez =EMBED("WinForms.Control.Host","") dans la Barre de formule.When you select a control in Excel, you will see =EMBED("WinForms.Control.Host","") in the Formula Bar. Ce texte est nécessaire et ne doit pas être supprimé.This text is necessary and should not be deleted.

Pour ajouter un contrôle Windows Forms au document en appuyant sur la touche entréeTo add a Windows Forms control to the document by pressing the Enter key

  1. Créez ou ouvrez un projet de classeur Excel ou un projet de document Word dans Visual Studio pour que le document soit visible dans le concepteur.Create or open an Excel Workbook project or Word Document project in Visual Studio so that the document is visible in the designer. Pour plus d’informations sur la création de projets, consultez Comment : créer des projets Office dans Visual Studio.For information on creating projects, see How to: Create Office Projects in Visual Studio.

  2. Dans le contrôles communs onglet de la boîte à outils, cliquez sur le contrôle que vous souhaitez ajouter, puis appuyez sur la entrée clé.In the Common Controls tab of the Toolbox, click the control you want to add, and press the Enter key.

    Le contrôle est ajouté au document, au centre de ce dernier ou du volet actif.The control is added to the document at the center of the document or active pane.

    Note

    Quand vous sélectionnez un contrôle dans Excel, vous voyez =EMBED("WinForms.Control.Host","") dans la Barre de formule.When you select a control in Excel, you will see =EMBED("WinForms.Control.Host","") in the Formula Bar. Ce texte est nécessaire et ne doit pas être supprimé.This text is necessary and should not be deleted.

Ajouter des contrôles au moment de l’exécution dans les projets au niveau du documentAdd controls at runtime in document-level projects

Vous pouvez ajouter par programmation des contrôles Windows Forms à un document au moment de l’exécution.You can programmatically add Windows Forms controls to a document at runtime. Dans Word, utilisez les méthodes de la propriété Controls de la classe ThisDocument.In Word, use methods of the Controls property of the ThisDocument class. Dans Excel, utilisez les méthodes de la Controls propriété d’un Sheet n classe.In Excel, use methods of the Controls property of a Sheetn class. Chaque méthode a plusieurs surcharges qui vous permettent de spécifier l'emplacement du contrôle de différentes façons.Each method has several overloads that enable you to specify the location of the control in different ways.

Lorsque vous ajoutez un contrôle Windows Forms à un document au moment de l’exécution, le contrôle n’est pas persistante dans le document lorsque le document est fermé.When you add a Windows Forms control to a document at runtime, the control is not persisted in the document when the document is closed. Vous pouvez recréer le contrôle à la prochaine ouverture du document.You can recreate the control the next time the document is opened. Pour plus d’informations, consultez ajouter des contrôles aux documents Office au moment de l’exécution.For more information, see Add controls to Office documents at runtime.

Pour ajouter un contrôle Windows Forms au moment de l’exécutionTo add a Windows Forms control at runtime

  1. Utiliser une méthode qui porte le nom ajouter<classe contrôle> (où classe contrôle est le nom de classe du contrôle Windows Forms que vous souhaitez ajouter, par exemple AddButton).Use a method that has the name Add<control class> (where control class is the class name of the Windows Forms control that you want to add, such as AddButton).

    L’exemple de code suivant montre comment ajouter un Button à cellule C5 de Sheet1 dans un projet au niveau du document pour Excel.The following code example demonstrates how to add a Button to cell C5 of Sheet1 in a document-level project for Excel.

    Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Me.Startup
    
        Dim salesButton As Microsoft.Office.Tools.Excel.Controls.Button
        salesButton = Me.Controls.AddButton(Me.Range("C5"), "salesButton")
        salesButton.Text = "Calculate Total Sales"
    End Sub
    
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
        Microsoft.Office.Tools.Excel.Controls.Button salesButton;
        salesButton = this.Controls.AddButton(this.get_Range("C5"), "salesButton");
        salesButton.Text = "Calculate Total Sales";
    }
    

Ajouter des contrôles au moment de l’exécution dans des Compléments VSTOAdd controls at runtime in VSTO Add-ins

Vous pouvez ajouter des contrôles Windows Forms par programmation à tout document ouvert au moment de l’exécution.You can add Windows Forms controls programmatically to any open document at runtime. Tout d'abord, générez un élément hôte basé sur un document ouvert ou une feuille de calcul ouverte.First, generate a host item that is based on an open document or worksheet. Dans Word, utilisez les méthodes de la propriété Controls du nouvel élément hôte.Then, in Word, use methods of the Controls property of the new host item. Dans Excel, utilisez les méthodes de la propriété Controls du nouvel élément hôte.In Excel, use methods of the Controls property of the new host item. Chaque méthode a plusieurs surcharges qui vous permettent de spécifier l'emplacement du contrôle de différentes façons.Each method has several overloads that enable you to specify the location of the control in different ways.

Lorsque vous ajoutez un contrôle Windows Forms à un document au moment de l’exécution, le contrôle n’est pas persistante dans le document lorsque le document est fermé.When you add a Windows Forms control to a document at runtime, the control is not persisted in the document when the document is closed. Vous pouvez recréer le contrôle à la prochaine ouverture du document.You can recreate the control the next time the document is opened. Pour plus d’informations, consultez ajouter des contrôles aux documents Office au moment de l’exécution.For more information, see Add controls to Office documents at runtime.

Pour plus d’informations sur la génération d’éléments hôtes dans les projets de complément VSTO, consultez documents Word d’étendre et classeurs Excel dans des Compléments VSTO lors de l’exécution.For more information about generating host items in VSTO Add-in projects, see Extend Word documents and Excel workbooks in VSTO Add-ins at runtime.

Pour ajouter un contrôle Windows Forms au moment de l’exécutionTo add a Windows Forms control at runtime

  1. Utiliser une méthode qui porte le nom ajouter<classe contrôle> (où classe contrôle est le nom de classe du contrôle Windows Forms que vous souhaitez ajouter, par exemple AddButton).Use a method that has the name Add<control class> (where control class is the class name of the Windows Forms control that you want to add, such as AddButton).

    Note

    Les projets de complément VSTO qui ciblent le .NET Framework 4.NET Framework 4 ou une version ultérieure, vous devez ajouter une référence à la Microsoft.Office.Tools.Excel.v4.0.Utilities.dll ou Microsoft.Office.Tools.Word.v4.0.Utilities.dll assembly avant de pouvoir accéder l’ajouter<classe contrôle> méthodes.In VSTO Add-in projects that target the .NET Framework 4.NET Framework 4 or later, you must add a reference to the Microsoft.Office.Tools.Excel.v4.0.Utilities.dll or Microsoft.Office.Tools.Word.v4.0.Utilities.dll assembly before you can access the Add<control class> methods.

    L'exemple de code suivant montre comment ajouter Button au premier paragraphe du document actif en utilisant un complément Word VSTO.The following code example demonstrates how to add a Button to the first paragraph of the active document by using a Word VSTO Add-in.

    Dim salesButton As Microsoft.Office.Tools.Word.Controls.Button
    
    Dim extendedDocument As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    
    extendedDocument.Paragraphs(1).Range.InsertParagraphBefore()
    salesButton = extendedDocument.Controls.AddButton( _
        extendedDocument.Paragraphs(1).Range, 75, 18, "salesButton")
    salesButton.Text = "Calculate Sales"
    
    Microsoft.Office.Tools.Word.Controls.Button salesButton;
    
    Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
    
    extendedDocument.Paragraphs[1].Range.InsertParagraphBefore();
    salesButton = extendedDocument.Controls.AddButton(
        extendedDocument.Paragraphs[1].Range, 75, 18, "salesButton");
    salesButton.Text = "Calculate Sales";
    

Voir aussiSee also

Contrôles Windows Forms sur une vue d’ensemble des documents Office Windows Forms controls on Office documents overview
Ajouter des contrôles aux documents Office au moment de l’exécution Add controls to Office documents at runtime
Comment : redimensionner des contrôles dans les cellules de feuille de calcul How to: Resize controls within worksheet cells
Éléments hôtes et vue d’ensemble des contrôles hôtes Host items and host controls overview
Paramètres optionnels dans les solutions OfficeOptional parameters in Office solutions