Hinzufügen einer Schaltfläche zu einem Word-Dokument und Zuweisen des Zugehörigen Click-Ereignisses zur Laufzeit

Zusammenfassung

In diesem Artikel wird veranschaulicht, wie Sie ein Microsoft Visual Basic for Applications-Makro verwenden können, um programmgesteuert ein Steuerelement zu einem Microsoft Word-Dokument hinzuzufügen und einen Click-Ereignishandler für dieses Steuerelement hinzuzufügen.

Weitere Informationen

Die folgenden Schritte veranschaulichen, wie Sie ein Word-Makro erstellen können, mit dem einem Dokument ein Steuerelement hinzugefügt und das Click-Ereignis dieses Steuerelements zur Laufzeit zugewiesen wird. Die Schritte gelten für Word. Sie können jedoch dieselben Konzepte anwenden, um Steuerelemente in Microsoft Excel-Arbeitsmappen programmgesteuert zu bearbeiten.

Hinweis

Die Möglichkeit, das Visual Basic-Projekt eines Microsoft Office-Dokuments zur Laufzeit zu bearbeiten, erfordert einen Verweis auf die Microsoft Visual Basic for Applications-Erweiterbarkeitsbibliothek.

Schritte zum Erstellen des Beispiels

  1. Starten Sie ein neues Dokument in Word.

  2. Drücken Sie ALT+F11, um zum Visual Basic-Editor zu wechseln.

  3. Klicken Sie im Menü Extras auf Verweise.

  4. Wählen Sie den Verweis für Microsoft Visual Basic for Applications Erweiterbarkeit aus.

  5. Fügen Sie ein neues Modul ein, und fügen Sie dann das folgende Codebeispiel hinzu.

    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. Führen Sie das Makro "Test" aus.

  7. Sobald das Makro "Test" abgeschlossen ist, wird ein neues CommandButton-Steuerelement in einem neuen Dokument angezeigt. Wenn Sie auf das CommandButton-Steuerelement klicken, wird das Click-Ereignis des Steuerelements ausgelöst.

Weitere Hinweise zu Word 2002 und Word 2003

Standardmäßig ist der Zugriff auf ein Word-VBA-Projekt deaktiviert. Wenn dies deaktiviert ist, generiert der obige Code möglicherweise den Laufzeitfehler "6068", "Programmgesteuerter Zugriff auf Visual Basic-Projekt ist nicht vertrauenswürdig". Weitere Informationen zu diesem Fehler und dazu, wie Sie ihn beheben können, finden Sie in der Microsoft Knowledge Base:

282830 Der programmgesteuerte Zugriff auf das Office VBA-Projekt wird verweigert.