Do Básico ao Avançado
Home | Tutoriais | Artigos |Contato

Formulário com Macro no Word 2003 - Exemplo 3



Neste tutorial darei um simples exemplo de como podemos executar uma macro através de um campo de formulário deixando seu preenchimento o mais automático possível.


Para este exemplo criaremos uma tabela com três colunas e duas linhas como mostra a figura abaixo.


Tabela


Agora clique no menu Exibir >> Barras de ferramentas >> Formuláriospara exibir a barra de ferramentas de Formulários.


Exibir Formulários


Observe a barra de ferramenta de formulários.


Formulários


Agora vamos inserir os campos de formulários necessários ao nosso exemplo.


Posicione o cursor dentro da coluna Nome e na barra de ferramentas de Formulários clique em campo de formulário suspenso como é mostrado na figura abaixo.


Campo de formulário suspenso


Posicione o cursor dentro da coluna Masculino e na barra de ferramentas de Formulários clique em campo de formulário caixa de seleção como é mostrado na figura abaixo.


Campo de formulário caixa de seleção


Posicione o cursor dentro da coluna Feminino e na barra de ferramentas de Formulários clique em campo de formulário caixa de seleção como é mostrado na figura abaixo.


Campo de formulário caixa de seleção


Agora que todos os campos foram inseridos no documento vamos criar a macro que deverá ser executado.


Clique no menuFerramentas >> Macro >> Editor do Visual Basic ou use a tecla de atalho Alt + F11.


Editor do Visual Basic


No Editor do Visual Basic, na janela Projeto – Project clique em ThisDocument


ThisDocument


Digite as seguintes linhas de código:


Sub condicao

Dim Valor As String

Valor = ActiveDocument.FormFields("Dropdown1").Result

If Valor = "Ednilson" Then

ActiveDocument.FormFields("Selecionar1").CheckBox.Value= True

ActiveDocument.FormFields("Selecionar2").CheckBox.Value = False

Else

If Valor <> "Ednilson" Then

ActiveDocument.FormFields("Selecionar1").CheckBox.Value = False

ActiveDocument.FormFields("Selecionar2").CheckBox.Value = True

End If

End If

End Sub


Observe a figura abaixo:


Janela de Código


Explicando o código de maneira simples:


Sub condicao ‘Cria uma macro chamada condição

Dim Valor as String ‘Declara a variável Valor como uma string

Valor = ActiveDocument.FormFields(“Dropdown1”).Result ‘Afirma que Valor é igual ao conteúdo selecionado no campo Dropdown1 (campo de formulário suspenso) do formulário do documento ativo.

O trecho abaixo impõe algumas condições

If Valor = "Ednilson" Then ‘Se Valor for igual a "Ednilson", então...

ActiveDocument.FormFields("Selecionar1").CheckBox.Value = True ‘Será selecionado a primeira caixa de seleção do formulário do documento ativo.

ActiveDocument.FormFields("Selecionar2").CheckBox.Value = False ‘A segunda caixa de seleção do formulário do documento ativo não será selecionada.

Else ‘Senão...

If Valor ="Ednilson" Then ‘Se Valor for diferente de Ednilson, então...

ActiveDocument.FormFields("Selecionar1").CheckBox.Value = False ‘A primeira caixa de seleção do formulário do documento ativo não será selecionada.

ActiveDocument.FormFields("Selecionar2").CheckBox.Value = True ‘Será selecionado a segunda caixa de seleção do formulário do documento ativo.

End If ‘Fecha a primeira condição

End If ‘fecha a segunda condição

End Sub ‘Encerra a macro

Feche o Editor do Visual Basic e volte ao documento. Selecione o primeiro campo que você inseriu e clique com o botão direito do mouse e selecione Propriedadescomo mostra a figura abaixo.


Propriedades


Posicione o cursor dentro de Item suspenso e pressione três vezes a tecla de espaço e clique em Adicionar


Opções do campo de formulário suspenso


Digite Adriana dentro de Item suspenso e clique em Adicionar


Opções do campo de formulário suspenso


Digite Ednilson dentro de Item suspenso e clique em Adicionar


Opções do Campo de formulário suspenso


Agora em Executar macro clique em Saída e selecione a macro que criamos anteriormente chamada condicaoe clique em OK. Observe a figura abaixo:


Opções do campo de formulário suspenso


Agora vamos proteger nosso formulário para que possamos vê-lo em funcionamento.


Clique no cadeado que aparece na barra de ferramentas de formulários para protegê-lo.


Fprmulário


Clique no primeiro campo e selecione um nome e depois pressione a tecla Tab para sair deste campo.Note que ao sair do campo a macro é acionada preenchendo automaticamente os outros campos conforme o item selecionado.


Veja a seqüência de imagens abaixo:


Formulário com macro

Formulário

Formulário


Consideração Final: A partir do exemplo aqui mostrado você poderá criar outras macros a adaptá-las aos seus formulários automatizando ainda mais o seu preenchimento pelos usuários.


Neste simples exemplo que usamos ainda é possível aperfeiçoar a macro para uma lista maior de nomes ou campos e também fazer tratamento de erros para quando o usuário clicar nas duas caixas de seleção.









Conteúdo Correspondente:




eBook Word 2010 VBA

© 2013 Tutoriais Word - Todos os direitos reservados