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.

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

Observe a barra de ferramenta de 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.

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.

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.

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.

No Editor do Visual Basic, na janela Projeto – Project clique em 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:

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.

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

Digite Adriana dentro de Item suspenso e clique em Adicionar

Digite Ednilson dentro de Item suspenso e clique em Adicionar

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

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.

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:



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.