Partager via


Comment : ajouter des contrôles Windows Forms à des documents Office

Vous pouvez ajouter des contrôles Windows Forms à des documents Microsoft Office Excel et Microsoft Office Word au moment du design dans des projets au niveau du document. Au moment du design, vous pouvez ajouter des contrôles dans des personnalisations au niveau du document et dans des compléments d'application. Par exemple, vous pouvez ajouter un contrôle ComboBox dans votre feuille de calcul afin que les utilisateurs puissent effectuer une sélection à partir d'une liste d'options.

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour les applications suivantes : Excel 2007, Excel 2010, Word 2007 et Word 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Cette rubrique décrit les tâches suivantes :

  • Ajout de contrôles au moment du design

  • Ajout de contrôles au moment de l'exécution dans des projets au niveau du document

  • Ajout de contrôles au moment de l'exécution dans des compléments d'application

lien vers la vidéo Pour une démonstration vidéo connexe, consultez How Do I: Add Controls to a Document Surface at Runtime? (page éventuellement en anglais).

Ajout de contrôles au moment du design

Il existe plusieurs manières d'ajouter des contrôles Windows Forms au document dans un projet au niveau du document au moment du design.

Notes

Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur de Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Pour faire glisser un contrôle Windows Forms jusqu'au document

  1. Créez ou ouvrez un projet de classeur Excel ou un projet de document Word dans Visual Studio afin que le document soit visible dans le concepteur. Pour plus d'informations sur la création de projets, consultez Comment : créer des projets Office dans Visual Studio.

  2. Sous l'onglet Contrôles communs de la Boîte à outils, cliquez sur le contrôle que vous souhaitez ajouter et faites-le glisser jusqu'au document.

    Notes

    Lorsque vous sélectionnez un contrôle dans Excel, vous voyez =EMBED("WinForms.Control.Host","") dans la Barre de formule. Ce texte est nécessaire et ne doit pas être supprimé.

Pour dessiner un contrôle Windows Forms sur le document

  1. Créez ou ouvrez un projet de classeur Excel ou un projet de document Word dans Visual Studio afin que le document soit visible dans le concepteur. Pour plus d'informations sur la création de projets, consultez Comment : créer des projets Office dans Visual Studio.

  2. Sous l'onglet Contrôles communs de la Boîte à outils, cliquez sur le contrôle à ajouter.

  3. Dans le document, cliquez sur l'endroit où doit venir se positionner le coin supérieur gauche du contrôle, puis faites glisser la souris jusqu'à l'endroit où doit venir se positionner son coin supérieur droit.

    Le contrôle est ajouté au document avec la position et la taille indiquées.

    Notes

    Lorsque vous sélectionnez un contrôle dans Excel, vous voyez =EMBED("WinForms.Control.Host","") dans la Barre de formule. Ce texte est nécessaire et ne doit pas être supprimé.

Pour ajouter un contrôle Windows Forms au document en cliquant une seule fois sur le contrôle

  1. Créez ou ouvrez un projet de classeur Excel ou un projet de document Word dans Visual Studio afin que le document soit visible dans le concepteur. Pour plus d'informations sur la création de projets, consultez Comment : créer des projets Office dans Visual Studio.

  2. Sous l'onglet Contrôles communs de la Boîte à outils, cliquez sur le contrôle que vous souhaitez ajouter.

  3. Dans le document, cliquez à l'endroit où vous souhaitez ajouter le contrôle.

    Le contrôle est ajouté au document avec la taille par défaut.

    Notes

    Lorsque vous sélectionnez un contrôle dans Excel, vous voyez =EMBED("WinForms.Control.Host","") dans la Barre de formule. Ce texte est nécessaire et ne doit pas être supprimé.

Pour ajouter un contrôle Windows Forms au document en double-cliquant sur le contrôle

  1. Créez ou ouvrez un projet de classeur Excel ou un projet de document Word dans Visual Studio afin que le document soit visible dans le concepteur. Pour plus d'informations sur la création de projets, consultez Comment : créer des projets Office dans Visual Studio.

  2. Sous l'onglet Contrôles communs de la Boîte à outils, double-cliquez sur le contrôle que vous souhaitez ajouter.

    Le contrôle est ajouté au document au centre du document ou du volet actif.

    Notes

    Lorsque vous sélectionnez un contrôle dans Excel, vous voyez =EMBED("WinForms.Control.Host","") dans la Barre de formule. Ce texte est nécessaire et ne doit pas être supprimé.

Pour ajouter un contrôle Windows Forms au document en appuyant sur la touche ENTRÉE

  1. Créez ou ouvrez un projet de classeur Excel ou un projet de document Word dans Visual Studio afin que le document soit visible dans le concepteur. Pour plus d'informations sur la création de projets, consultez Comment : créer des projets Office dans Visual Studio.

  2. Sous l'onglet Contrôles communs de la Boîte à outils, cliquez sur le contrôle à ajouter et appuyez sur la touche ENTRÉE.

    Le contrôle est ajouté au document au centre du document ou du volet actif.

    Notes

    Lorsque vous sélectionnez un contrôle dans Excel, vous voyez =EMBED("WinForms.Control.Host","") dans la Barre de formule. Ce texte est nécessaire et ne doit pas être supprimé.

Ajout de contrôles au moment de l'exécution dans des projets au niveau du document

Vous pouvez ajouter par programmation des contrôles Windows Forms à un document au moment de l'exécution. Dans Word, utilisez des méthodes de la propriété Controls de la classe ThisDocument. Dans Excel, utilisez des méthodes de la propriété Controls d'une classe Sheetn. Chaque méthode a plusieurs surcharges qui vous permettent de spécifier de différentes façons l'emplacement du contrôle. Pour plus d'informations, consultez Méthodes d'assistance pour les contrôles Windows Forms.

Lorsque vous ajoutez un contrôle Windows Forms à un document au moment de l'exécution, le contrôle n'est pas rendu persistant dans le document lorsque ce dernier est fermé. Vous pouvez recréer le contrôle lors de l'ouverture suivante du document. Pour plus d'informations, consultez Ajout de contrôles à des documents Office au moment de l'exécution.

Pour ajouter un contrôle Windows Forms au moment de l'exécution

  • Utilisez une méthode avec le nom Add<classe de contrôle> (où classe de contrôle est le nom de classe du contrôle Windows Forms que vous souhaitez ajouter, tel que AddButton()).

    L'exemple de code suivant montre comment ajouter un Button à la cellule C5 de Sheet1 dans un projet au niveau du document pour 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", missing), "salesButton");
        salesButton.Text = "Calculate Total Sales";
    }
    

Ajout de contrôles au moment de l'exécution dans des compléments d'application

Vous pouvez ajouter des contrôles Windows Forms par programmation à n'importe quel document ouvert au moment de l'exécution. En premier lieu, générez un élément hôte basé sur un document ou une feuille de calcul ouvert. Puis, dans Word, utilisez des méthodes de la propriété Document.Controls du nouvel élément hôte. Dans Excel, utilisez des méthodes de la propriété Worksheet.Controls du nouvel élément hôte. Chaque méthode a plusieurs surcharges qui vous permettent de spécifier de différentes façons l'emplacement du contrôle. Pour plus d'informations, consultez Méthodes d'assistance pour les contrôles Windows Forms.

Lorsque vous ajoutez un contrôle Windows Forms à un document au moment de l'exécution, le contrôle n'est pas rendu persistant dans le document lorsque ce dernier est fermé. Vous pouvez recréer le contrôle lors de l'ouverture suivante du document. Pour plus d'informations, consultez Ajout de contrôles à des documents Office au moment de l'exécution.

Pour plus d'informations sur la génération d'éléments hôtes dans des projets au niveau de l'application, consultez Extension de documents Word et de classeurs Excel dans des compléments d'application au moment de l'exécution..

Pour ajouter un contrôle Windows Forms au moment de l'exécution

  • Utilisez une méthode avec le nom Add<classe de contrôle> (où classe de contrôle est le nom de classe du contrôle Windows Forms que vous souhaitez ajouter, tel que AddButton()).

    Notes

    Dans les projets de complément d'application qui ciblent le .NET Framework 4, vous devez ajouter une référence à l'assembly Microsoft.Office.Tools.Excel.v4.0.Utilities.dll ou Microsoft.Office.Tools.Word.v4.0.Utilities.dll avant de pouvoir accéder aux méthodes Add<classe de contrôle>.

    L'exemple de code suivant montre comment ajouter un Button au premier paragraphe du document actif à l'aide d'un complément Word.

    Dim salesButton As Microsoft.Office.Tools.Word.Controls.Button
    
    ' Use the following line of code in projects that target the .NET Framework 4.
    Dim extendedDocument As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    
    ' In projects that target the .NET Framework 3.5, use the following line of code.
    ' Dim extendedDocument As Document = Me.Application.ActiveDocument.GetVstoObject()
    
    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;
    
    // Use the following line of code in projects that target the .NET Framework 4.
    Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
    // In projects that target the .NET Framework 3.5, use the following line of code.
    // Document extendedDocument = this.Application.ActiveDocument.GetVstoObject();
    
    extendedDocument.Paragraphs[1].Range.InsertParagraphBefore();
    salesButton = extendedDocument.Controls.AddButton(
        extendedDocument.Paragraphs[1].Range, 75, 18, "salesButton");
    salesButton.Text = "Calculate Sales";
    

Voir aussi

Tâches

Comment : redimensionner des contrôles dans des cellules de feuille de calcul

Concepts

Vue d'ensemble des contrôles Windows Forms dans les documents Office

Ajout de contrôles à des documents Office au moment de l'exécution

Vue d'ensemble des éléments hôtes et des contrôles hôtes

Paramètres optionnels dans les solutions Office