Come aggiungere un pulsante a un documento di Word e assegnarne l'evento Click in fase di esecuzione

Riepilogo

Questo articolo illustra come usare una macro di Microsoft Visual Basic, Applications Edition per aggiungere a livello di codice un controllo a un documento di Microsoft Word e aggiungere un gestore eventi Click per tale controllo.

Ulteriori informazioni

I passaggi seguenti illustrano come creare una macro di Word che aggiungerà un controllo a un documento e assegnerà l'evento Click di tale controllo in fase di esecuzione. I passaggi sono per Word. Tuttavia, è possibile applicare gli stessi concetti per modificare a livello di codice i controlli nelle cartelle di lavoro di Microsoft Excel.

Nota

La possibilità di modificare il progetto Visual Basic di un documento di Microsoft Office in fase di esecuzione richiede un riferimento alla libreria di estendibilità di Microsoft Visual Basic, Applications Edition.

Passaggi per creare l'esempio

  1. Avviare un nuovo documento in Word.

  2. Premere ALT+F11 per passare a Visual Basic Editor.

  3. Scegliere Riferimenti dal menu Strumenti.

  4. Selezionare il riferimento per Microsoft Visual Basic, Applications Edition estendibilità.

  5. Inserire un nuovo modulo e quindi aggiungere l'esempio di codice seguente.

    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. Eseguire la macro "Test".

  7. Al termine dell'esecuzione della macro "Test", verrà visualizzato un nuovo controllo CommandButton in un nuovo documento. Quando si fa clic sul controllo CommandButton , viene generato l'evento Click del controllo .

Note aggiuntive per Word 2002 e Word 2003

Per impostazione predefinita, l'accesso a un progetto VBA di Word è disabilitato. Se disabilitato, il codice precedente potrebbe generare l'errore di run-time '6068', "Accesso programmatico a Visual Basic Project non attendibile". Per altre informazioni su questo errore e su come correggerlo, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

282830 L'accesso a livello di codice al progetto VBA di Office viene negato