Jak dodać przycisk do dokumentu programu Word i przypisać jego zdarzenie Kliknięcie w czasie wykonywania

Podsumowanie

W tym artykule pokazano, jak za pomocą makra Visual Basic for Applications firmy Microsoft można programowo dodać kontrolkę do dokumentu programu Microsoft Word i dodać procedurę obsługi zdarzeń kliknięcia dla tej kontrolki.

Więcej informacji

Poniższe kroki ilustrują sposób tworzenia makra programu Word, które spowoduje dodanie kontrolki do dokumentu i przypisanie zdarzenia Kliknięcie tej kontrolki w czasie wykonywania. Kroki są przeznaczone dla programu Word. Można jednak zastosować te same pojęcia, aby programowo manipulować kontrolkami w skoroszytach programu Microsoft Excel.

Uwaga

Możliwość manipulowania projektem Visual Basic dokumentu pakietu Microsoft Office w czasie wykonywania wymaga odwołania do biblioteki rozszerzalności microsoft Visual Basic for Applications.

Kroki tworzenia przykładu

  1. Uruchom nowy dokument w programie Word.

  2. Naciśnij klawisze Alt+F11, aby przejść do Edytora Visual Basic.

  3. W menu Narzędzia kliknij polecenie Odwołania.

  4. Wybierz odwołanie do rozszerzenia Visual Basic for Applications firmy Microsoft.

  5. Wstaw nowy moduł, a następnie dodaj następujący przykład kodu.

    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. Uruchom makro "Test".

  7. Po zakończeniu działania makra "Test" zostanie wyświetlona nowa kontrolka CommandButton w nowym dokumencie. Po kliknięciu kontrolki CommandButton zostanie wyzwolone zdarzenie Kliknij kontrolki.

Dodatkowe uwagi dotyczące programów Word 2002 i Word 2003

Domyślnie dostęp do projektu VBA programu Word jest wyłączony. Po wyłączeniu powyższy kod może wygenerować błąd czasu wykonywania "6068", "Programowy dostęp do projektu Visual Basic nie jest zaufany". Aby uzyskać więcej informacji na temat tego błędu i sposobu jego poprawiania, kliknij następujący numer artykułu, aby wyświetlić artykuł w bazie wiedzy Microsoft Knowledge Base:

282830 Odmowa dostępu programowego do projektu VBA pakietu Office