Tutoriais Word
Home  |  Tutoriais  |  Artigos  |  VBA  |  Download  |  eBooks Word VBA  |  Dicas e Truques  |  Teclas de Atalho  |  Serviços  |  Contato


Categorias

Básico/Intermediário

  Avançado

  VBA

  Tabelas

  Formulário

  Campo

  Livros

  ABNT

  TCC

Personalizando Formulário

eBook Word 2010 VBA

Tabela do Word como banco de dados

Formulário com Macro no Word 2007 - Exemplo I





Às vezes para executar uma operação é preciso recorrer a uma pequena rotina de programação em linguagem Visual Basic For Applications (VBA). Isso é necessário porque não há uma outra forma, senão via programação, de capturar os valores definidos em Caixa de Combinação, somá-los e lançar o resultado em um Campo Texto.


Neste exemplo temos um formulário e neste formulário temos três Caixas de Combinação chamadas Dropdown1, Dropdown2 e Dropdown3 e um Campo de Texto chamado Texto1, mantendo os nomes-padrão atribuídos pelo programa.


Formulário


Cada Caixa de Seleção possui vários valores que serão selecionados pelo usuário e o total deverá ser mostrado automaticamente no Campo Texto.


Para que a somatória seja feita automaticamente no Campo de Texto, vamos criar uma macro usando o Editor do Visual Basic - VBA. Para isso acione a Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou se referir acione a combinação de teclas Alt+F11.


Visual Basic


No ambiente de desenvolvimento Visual Basic, na Janela de Projeto clique em ThisDocument..


ThisDocument


Clique no menu Inserir e em seguida clique em Módulo.


Inserir Módulo


Na janela de código em branco adicione o seguinte código.


Sub Soma Campos()
On error GoTo Trata-erro
Dim a As Double, b As Double, c As Double
ActiveDocument.FormFields("Texto1").Result = " "
a = CDbl(ActiveDocument.FormFields("Dropdown1").Result)
b = CDbl(ActiveDocument.FormFields("Dropdown2").Result)
c = CDbl(ActiveDocument.FormFields("Dropdown3").Result)
ActiveDocument.FormFields("Texto1").Result = a + b + c
Trata-erro:
Exit Sub
End Sub


Deverá ficar assim:


Janela de Código

A macro SomaCampos pega o valor atual das três Caixas de Combinação, soma-os e exibe o resultado no Campo Texto.


Agora feche o Editor do Visual Basic clicando no menu Arquivo e em Fechar e voltar para Microsoft Word, ou através do atalho ALT + Q.


Fechar  Editor do Visual Basic


Agora devemos ajustar o formulário, portanto, selecione a primeira Caixa de Combinação e com o botão direito do mouse selecione Propriedades.


Propriedades


Em Executar macro, na caixa Saída, selecione o nome da macro SomaCampos, que é uma das opções. Para finalizar clique em OK


Opções do campo de  formulário suspenso


Repita esse procedimento em todas as Caixas de Combinação.


Agora vamos Proteger o documento. Pra isso acione a Guia Desenvolvedor e no Grupo Proteger clique em Proteger Documento.


Proteger Documento


Clique em Restringir Formatação e Edição.




Note que ao lado direito surge a janela para configurações de proteção.


Em Restrições de edição tique em Permitir apenas este tipo de edição no documento: e na caixa de listagem selecione Preenchendo formulários, em seguida clique no botão Sim, Aplicar Proteção.


Restringir Formatação e Edição


Defina uma senha e depois dê um OK.


Aplicar Proteção


Selecione os valores das Caixas de Combinação e veja que o resultado no Campo Texto atualiza automaticamente.


Campo Texto


Use a tecla Tab para navegar pelos campos deformulários.


Tab para avançar


SHIFT + TAB para retornar



Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word. Pra isso clique no Botão do Office e em seguida clique no botão Opções, como mostra as imagens abaixo:


Opções do Word


Na janela de Opções do Word clique em Central de Confiabilidade:


Central de Confiabilidade


Clique em Configurações da Central de Confiabilidade...


Configurações da Central de Confiabilidade


Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.


Configurações de Macro


Para concluir clique no botão OK. Agora o Microsoft Word está habilitado para executar macros.



Considerações finais:


Para evitar erros na operação foi incluído nas opções das Caixas de Combinação o valor 0 (zero) como o primeiro da lista. Também é possível deixar essa opção em branco ou trocá-la por algo como "Selecione um valor". Nesse caso, para evitar erro, seria necessário alterar o código: antes de executar a soma, verificar se o valor da caixa de combinação é um texto e, nesse caso, trabalhar com ele como equivalente ao valor numérico zero. De qualquer forma também acrescentamos ao código um tratamento de erro em tempo de execução (On error GoTo Trata-erro), caso ocorra algum erro a rotina Trata-erro será executada.




Veja também...


Formulário com Macro - Exemplo 2: Repetindo conteúdo dos controles


Formulário com Macro - Exemplo 3: Caixa de Seleção


Formulário com Macro - Exemplo 4: Usar Enter em vez de Tab


Formulário com Macro - Exemplo 5: Cálculos com datas


Formulário com Macro - Exemplo 6: Cálculos com datas


Conhecendo os Controles de Formulários


Como criar Formulário no Word


Como criar Formulários com Cálculo automático - Exemplo 1


Como criar Formulários com Cálculo automático - Exemplo 2


Como proteger somente o Formulário e deixar o restante do documento livre para edição


Inserindo Texto de Ajuda







eBook Word 2010 VBA

      

 Inscreva-se

 E seja informado sempre que um novo tutorial for publicado.

 E mais... Você poderá fazer gratuitamente o download de 02(dois) e-Books:
- Como preencher uma tabela(VBA) - Iniciante;
- Como preencher uma tabela com várias linhas(VBA) - Iniciante.


 Nome* 
 E-mail* 
 *Preenchimento obrigatório.
Prometemos não utilizar suas informações de contato para enviar qualquer tipo de SPAM.

 



eBook Word 2010 VBA




© 2013 Tutoriais Word - Todos os direitos reservados