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
Avviare un nuovo documento in Word.
Premere ALT+F11 per passare a Visual Basic Editor.
Scegliere Riferimenti dal menu Strumenti.
Selezionare il riferimento per Microsoft Visual Basic, Applications Edition estendibilità.
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
Eseguire la macro "Test".
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