Share via


Så här lägger du till en knapp i ett Word-dokument och tilldelar dess Click-händelse vid körning

Sammanfattning

Den här artikeln visar hur du kan använda ett Microsoft Visual Basic for Applications-makro för att programmatiskt lägga till en kontroll i ett Microsoft Word-dokument och lägga till en Click-händelsehanterare för den kontrollen.

Mer information

Följande steg illustrerar hur du kan skapa ett Word-makro som lägger till en kontroll i ett dokument och tilldelar click-händelsen för den kontrollen vid körning. Stegen är för Word. Du kan dock använda samma begrepp för att programmatiskt manipulera kontroller i Microsoft Excel-arbetsböcker.

Obs!

Möjligheten att ändra Visual Basic-projektet för ett Microsoft Office-dokument vid körning kräver en referens till Microsoft Visual Basic for Applications Extensibility-biblioteket.

Steg för att skapa exemplet

  1. Starta ett nytt dokument i Word.

  2. Tryck på Alt+F11 för att gå till Visual Basic Editor.

  3. På menyn Verktyg klickar du på Referenser.

  4. Välj referensen för Utökningsbarhet för Microsoft Visual Basic for Applications.

  5. Infoga en ny modul och lägg sedan till följande kodexempel.

    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. Kör makrot "Test".

  7. När makrot "Test" har körts visas en ny CommandButton-kontroll i ett nytt dokument. När du klickar på CommandButton-kontrollen utlöses klicka-händelsen för kontrollen.

Ytterligare anteckningar för Word 2002 och Word 2003

Som standard är åtkomsten till ett Word VBA-projekt inaktiverad. När den är inaktiverad kan koden ovan generera körningsfelet "6068", "Programmatisk åtkomst till Visual Basic Project är inte betrodd". Om du vill ha mer information om det här felet och hur du kan korrigera det klickar du på följande artikelnummer för att visa artikeln i Microsoft Knowledge Base:

282830 Programmatisk åtkomst till Office VBA-projektet nekas