Comment ajouter un bouton à un document Word et affecter son événement Click au moment de l’exécution

Résumé

Cet article explique comment utiliser une macro Microsoft Visual Basic pour Applications pour ajouter par programmation un contrôle à un document Microsoft Word et ajouter un gestionnaire d’événements Click pour ce contrôle.

Informations supplémentaires

Les étapes suivantes illustrent comment créer une macro Word qui ajoutera un contrôle à un document et affectera l’événement Click de ce contrôle au moment de l’exécution. Les étapes concernent Word. Toutefois, vous pouvez appliquer les mêmes concepts pour manipuler des contrôles par programmation dans des classeurs Microsoft Excel.

Remarque

La possibilité de manipuler le projet Visual Basic d’un document Microsoft Office au moment de l’exécution nécessite une référence à la bibliothèque d’extensibilité Microsoft Visual Basic pour Applications.

Étapes de création de l’exemple

  1. Démarrez un nouveau document dans Word.

  2. Appuyez sur Alt+F11 pour accéder à Visual Basic Editor.

  3. Dans le menu Outils, cliquez sur Références.

  4. Sélectionnez la référence pour l’extensibilité de Microsoft Visual Basic pour Applications.

  5. Insérez un nouveau module, puis ajoutez l’exemple de code suivant.

    Sub Test()
    
    'Add a command button to a new document
    Dim doc As Word.Document
    Dim shp As Word.InlineShape
    Set doc = Documents.Add
    
    Set shp = doc.Content.InlineShapes.AddOLEControl(ClassType:="Forms.CommandButton.1")
    shp.OLEFormat.Object.Caption = "Click Here"
    
    'Add a procedure for the click event of the inlineshape
    '**Note: The click event resides in the This Document module
    Dim sCode As String
    sCode = "Private Sub " & shp.OLEFormat.Object.Name & "_Click()" & vbCrLf & _
            "   MsgBox ""You Clicked the CommandButton""" & vbCrLf & _
            "End Sub"
    doc.VBProject.VBComponents("ThisDocument").CodeModule.AddFromString sCode
    
    End Sub
    
  6. Exécutez la macro « Test ».

  7. Une fois l’exécution de la macro « Test » terminée, vous verrez un nouveau contrôle CommandButton sur un nouveau document. Lorsque vous cliquez sur le contrôle CommandButton , l’événement Click du contrôle se déclenche.

Notes supplémentaires pour Word 2002 et Word 2003

Par défaut, l’accès à un projet VBA Word est désactivé. Lorsqu’il est désactivé, le code ci-dessus peut générer l’erreur d’exécution « 6068 », « L’accès programmatique à Visual Basic Project n’est pas approuvé ». Pour plus d’informations sur cette erreur et la façon dont vous pouvez la corriger, cliquez sur le numéro d’article suivant pour afficher l’article dans la Base de connaissances Microsoft :

282830 L’accès par programmation au projet Office VBA est refusé