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
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
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.
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
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.
Sous l'onglet Contrôles communs de la Boîte à outils, cliquez sur le contrôle à ajouter.
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
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.
Sous l'onglet Contrôles communs de la Boîte à outils, cliquez sur le contrôle que vous souhaitez ajouter.
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
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.
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
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.
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