Publicidade Google

Usando combobox no Word 2003 e 2010

quarta-feira, 8 de dezembro de 2010
Link: 


Publicidade Google

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 Wordsurgiu um entrave com o recurso drop-down por causa das limitações quevã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.

Word

Word 2003:

Nãovou recriar um formulário inteiro, apenas demonstrarei como usar orecurso do combobox de maneira fácil e rápida. Vamos criar a combobox.Clique no menu "Exibir", "Barra de ferramentas" e clique em "Caixa deferramentas 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 inserircó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"

Agoravou inserir outra combobox mais abaixo no formulário, mas dessa vezirei colocar frases grandes. Isso não seria possível com o recurso dodrop-down. Depois de inserir a combobox, dar dois cliques nela eselecionar "GotFocus" na caixa de seleção, você verá a seguinte imagem.


Ocódigo que você irá inserir é praticamente o mesmo usado na primeiracombobox. 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"

Conformevocê for inserindo combobox no seu formulário elas irão adquirindonomes como "ComboBox3", "ComboBox4", "ComboBox5" e assim por diante.Preste atenção nisso.

Voltando ao formulário de exemplo ele terá essa aparência:


Cliqueno botão com ícone de esquadro na janela flutuante. É o primeiro íconeda barra de ferramentas de controle. Assim poderemos ver o resultado.Depois selecione algo nas combobox simulando um preenchimento noformulário.


Talveznão tenha ficado bom, pois a caixa de seleção ficou pequena escondendoo texto. Clique novamente no botão com o esquadro e depois um dê cliquepara selecionar a combobox. Isso fará com que apareçam marcadores paraque possamos redimensioná-las.


Faça mais uma simulação de prenchimento e veja se conseguiu ajustar corretamente.

Casotenha problemas e pareça não funcionar mesmo tendo feito à risca o quefoi dito, pode ser que a segurança de macro do Word 2003 estejacausando algum bloqueio. Para resolver isso vá ao menu "Ferramentas" eclique 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 desegurança" deixe selecionada a opção "Médio" e dê o clique em "OK".


Fazendoisso - toda vez que o documento for aberto - será perguntado se vocêdeseja ou não executar a macro. Aí é só confirmar no botão "Habilitarmacro". 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:

Paraentender como usar o básico de uma combobox no Word 2010, leia apublicação inteira. Digo isso porque só colocarei aqui os pontosdivergentes entres as versões, pois não vejo a necessidade de repetiralgumas 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


Veja também sobre excel básico e controle de gastos domésticos.

Administrador do LTI
Curioso sobre informática sempre achei que Blogar fosse perda de tempo e descobri estar enganado. Sou Geek assumido e já sou assim muito antes disso virar modinha ou mesmo de saber que era um. Adoro tecnologias, música e animais, mas não sou muito habilidoso com pessoas. Para mim o Lomeutec - Tutoriais e Informação é uma ótima maneira de aprender mais, fazer amizades e compartilhar conhecimento.

1 participações:

Hikari disse...

O Word faz cada coisa q a gente nem imagina né! :D

Inputs de HTML, tudo indica q seja pra montar um HTML form no Word. É bom avisar q o output gerado pelo Word pra HTML/Web é horrível e deve ser evitado a qqr custo, ainda mais pra documentos mais complexos usando as ferramentas indicadas nesse tutorial. Melhor usar um Dreamweaver ou editor específico pra HTML, e sempre validar o documento em XHTML 1.0 Strict ou XHTML 1.1!

Quanto ao meu problema, o combobox infelizmente naum resolve. O resultado final tem q parecer um documento simples, e o formulário normal do Word gera esse resultado: enquanto digita ele apresenta diferença visual entre o texto em background e os campos editáveis, mas na hora de imprimir fica tudo coa mesma formatação. O mesmo vale com o dropdown, q exibe o texto escolhido como se tivesse sido digitado.

Já com o combobox esse efeito deixa de ocorrer, o combobox é exibido com o texto dentro e pra contrato esse feito gráfico fica muito estranho, pra naum dizer inadmissível.

Talvez com alguma habilidade em VGA seja possível hookar um evento ao dropdown, de modo a inserir o resto da frase na frente do dropdown com base no elemento escolhido.

Poderia colocar o dropdown e um edit text em seguida, daí insere no edit o texto relativo ao item escolhido no dropdown...

Mas aí tb naum posso fazer, oq ficaria confuso pra outras pessoas q usassem o documento e exigiria um conhecimento mínimo de VGA pra editar os textos e manter o documento atualizado. Se tem gente q já naum gosta de digitar e prefere imprimir o formulário e preencher a caneta, imagina propor mexer em VGA pra automatizar o preenchimento... Infelimente ainda tem muita gente contra eficiência e produtividade, só naum usam maquina de escrever pq é muito caro pra comprar :-x

Participe! Deixe o seu comentário!

Publicidade Cusros 24 Horas
Cursos 24 Horas - Cursos Online com Certificado
Sobre os comentários.

Comentários dentro do contexto incentivam novas publicações, são importantes e ajudam a melhorar o conteúdo. Leia as respostas dos comentários feitos por outras pessoas. Se você tiver dúvidas talvez eles possam esclarecer.

Para ter seu comentário respondido não publique-o como anônimo. Fica difícil responder assim.

Quando tiver um tempo veja a política de comentários na íntegra.

Abraços a todos.

 
Receba notificações
sobre novos comentários.