Essa publicação foi criada para tentar resolver o problema de um leitor do blog. É que na postagem sobre a criação de formulários no Word surgiu um entrave com o recurso drop-down por causa das limitações que vão da quantidade máxima de palavras que pode ser inserida - somente 25 - ao tamanho de cada palavra - no máximo 50 caracteres. A solução será usar o combobox.
WordWord 2003:
Não vou recriar um formulário inteiro, apenas demonstrarei como usar o recurso do combobox de maneira fácil e rápida. Vamos criar a combobox. Clique no menu "Exibir", "Barra de ferramentas" e clique em "Caixa de ferramentas de controle".
Aparecerá uma nova barra de ferramentas flutuante. Deixe o cursor onde você deseja colocar a combobox e selecione "Caixa de combinação" . Ficará com esse aspecto.
Dê dois cliques rápidos na combobox e será aberto o modo para inserir códigos VBA. Na caixa de seleção no topo da direita escolha "GotFocus". Ficará assim:
Insira o seguinte código:
ComboBox1.Clear
ComboBox1.AddItem "Lomeutec - Tutoriais e Informação"
ComboBox1.AddItem "Magalhães e Marinho Advogadas"
ComboBox1.AddItem "Dias & Dias Parados LTDA"
Onde está azul você coloca o que quiser. Serão as opções que irão aparecer na hora de selecionar. Veja o código inserido.
Você pode adicionar outros itens como opção. Basta ir adicionando linhas iguais as que estão abaixo no código:
ComboBox1.AddItem "Mais um item"
Agora vou inserir outra combobox mais abaixo no formulário, mas dessa vez irei colocar frases grandes. Isso não seria possível com o recurso do drop-down. Depois de inserir a combobox, dar dois cliques nela e selecionar "GotFocus" na caixa de seleção, você verá a seguinte imagem.
O código que você irá inserir é praticamente o mesmo usado na primeira combobox. A diferença é que o nome dessa combobox é "ComboBox2", portanto você deve alterar isso também. Veja:
ComboBox2.Clear
ComboBox2.AddItem "Lomeutec - Tutoriais e Informações é um blog que fala de informática descomplicada"
ComboBox2.AddItem "Magalhães e Marinho Advogadas é uma empresa séria que presta serviços advocatícios"
ComboBox2.AddItem "Dias & Dias Parados LTDA é uma sátira criada por um professor"
Conforme você for inserindo combobox no seu formulário elas irão adquirindo nomes como "ComboBox3", "ComboBox4", "ComboBox5" e assim por diante. Preste atenção nisso.
Voltando ao formulário de exemplo ele terá essa aparência:
Clique no botão com ícone de esquadro na janela flutuante. É o primeiro ícone da barra de ferramentas de controle. Assim poderemos ver o resultado. Depois selecione algo nas combobox simulando um preenchimento no formulário.
Talvez não tenha ficado bom, pois a caixa de seleção ficou pequena escondendo o texto. Clique novamente no botão com o esquadro e depois um dê clique para selecionar a combobox. Isso fará com que apareçam marcadores para que possamos redimensioná-las.
Faça mais uma simulação de prenchimento e veja se conseguiu ajustar corretamente.
Caso tenha problemas e pareça não funcionar mesmo tendo feito à risca o que foi dito, pode ser que a segurança de macro do Word 2003 esteja causando algum bloqueio. Para resolver isso vá ao menu "Ferramentas" e clique em "opções". Irá abrir uma janela com várias abas. Clique na aba "Segurança" e depois no botão "Segurança de macro".
Ao clicar nesse botão será aberta outra janela. Na aba "Nível de segurança" deixe selecionada a opção "Médio" e dê o clique em "OK".
Fazendo isso - toda vez que o documento for aberto - será perguntado se você deseja ou não executar a macro. Aí é só confirmar no botão "Habilitar macro". E então estará pronto.
Já está pronto, mas da forma como está o código, ao ganhar o foco, o campo é limpado. Se isso estiver lhe causando transtorno você pode adicionar o código de outra forma de modo que ele seja carregado junto com o documento ao invés de somente quando clicar na combobox. Para isso crie o código da seguinte forma:
Vá ao menu "Ferramentas", clique em "Macro" e depois em 'Editor do Visual Basic". A janela será assim:
Em "ThisDocument" Cole:
Private Sub Document_Open()
End Sub
E no meio disso coloque os códigos das combobox. No caso do exemplo acima ficou assim:
Private Sub Document_Open()
ComboBox1.Clear
ComboBox1.AddItem "Lomeutec - Tutoriais e Informação"
ComboBox1.AddItem "Magalhães e Marinho Advogadas"
ComboBox1.AddItem "Dias & Dias Parados LTDA"
ComboBox2.Clear
ComboBox2.AddItem "Lomeutec - Tutoriais e Informações é um blog que fala de informática descomplicada"
ComboBox2.AddItem "Magalhães e Marinho Advogadas é uma empresa séria que presta serviços advocatícios"
ComboBox2.AddItem "Dias & Dias Parados LTDA é uma sátira criada por um professor"
End Sub
Você pode usar um ou outro método. Mas eu acho que dessa forma fica bem melhor.
Se você "pegou o bonde andando" recomendo que vejas as publicações "Trabalhando com campos editáveis no Word" e "Recursos para criação de formulários no Word". Isso talvez possa esclarecer algumas dúvidas que venham a surgir.
Word 2010:
Para entender como usar o básico de uma combobox no Word 2010, leia a publicação inteira. Digo isso porque só colocarei aqui os pontos divergentes entres as versões, pois não vejo a necessidade de repetir algumas coisas.
Começarei mostrando como habilitar os recursos que você ira precisar. Abra o Word vá ao menu "Arquivo" e clique em "opções".
Será aberta outra janela onde você deverá clicar em "Personalizar Faixa de Opções" e marcar a checkbox "Desenvolvedor".
Feito isso ficará diponível a guia "Desenvolvedor" que possui as ferramentas de que precisamos. Veja que os recursos usados na criação de formulários estão em "Controles".
Para abrir o editor do visual basic o botão está no canto esquerdo da guia desenvolvedor.
A partir desse ponto, se você leu a publicação inteira, não haverá nada à acrescentar. Crie seu formulário e adicione sua combobox (Caixa de combinação). Os códigos usados são os mesmos e aplicados da mesma forma. A diferença pode estar na hora de salvar. Por possuir comandos em VBA, o documento no Word 2010 deve ser salvo como "Documento Habilitado para Macro do Word".
Se quiser baixar os arquivos usados neste exemplo clique aqui.
Senha para descompactar: lomeutec