|
|
|||
| 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.







1 participações:
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!
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.
sobre novos comentários.