Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Resumo
Este artigo demonstra como você pode usar uma macro do Microsoft Visual Basic for Applications para adicionar programaticamente um controle a um documento do Microsoft Word e adicionar um manipulador de eventos Click a esse controle.
Informações adicionais
As etapas a seguir ilustram como você pode criar uma macro do Word que adicionará um controle a um documento e atribuirá o evento Click desse controle em tempo de execução. As etapas são para o Word. No entanto, você pode aplicar os mesmos conceitos para manipular programaticamente controles em pastas de trabalho do Microsoft Excel.
Observação
A capacidade de manipular o Projeto do Visual Basic de um documento do Microsoft Office em tempo de execução requer uma referência à biblioteca de extensibilidade do Microsoft Visual Basic for Applications.
Etapas para criar o exemplo
Inicie um novo documento no Word.
Pressione Alt+F11 para ir para o Editor do Visual Basic.
No menu Ferramentas, clique em Referências.
Selecione a referência para Extensibilidade Visual Basic for Applications Microsoft.
Insira um novo módulo e adicione o exemplo de código a seguir.
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
Execute a macro "Testar".
Depois que a macro "Test" terminar de ser executada, você verá um novo controle CommandButton em um novo documento. Quando você clica no controle CommandButton , o evento Click do controle é acionado.
Notas adicionais para o Word 2002 e o Word 2003
Por padrão, o acesso a um projeto VBA do Word está desabilitado. Quando desabilitado, o código acima pode gerar o erro de tempo de execução '6068', "O acesso programático ao Projeto do Visual Basic não é confiável". Para obter mais informações sobre esse erro e como você pode corrigi-lo, clique no seguinte número de artigo para exibir o artigo na Base de Dados de Conhecimento Microsoft:
O acesso programático 282830 ao projeto VBA do Office foi negado