Lomeutec - Tutoriais e Informação
ESTE BLOG NÃO É MAIS ATUALIZADO. SUAS ATIVIDADES FORAM DEFINITIVAMENTE ENCERRADAS EM 2020.

Burlando o limite de 25 itens do DropDown no Word

Veja uma maneira alternativa para romper o limite de 25 itens do menu dropdown do Word. Será mostrado nessa publicação, um exemplo de um procedimento onde criaremos um campo que deverá conter as siglas de todos os estados para que possa ser selecionado um durante o preenchimento de um formulário no Word. Apesar de estarmos tratando de um campo de siglas de estados, você poderá adaptá-lo às suas necessidades.

Word

Word 2003:

Abra um documento novo do Word, vá ao menu "Ferramentas", clique em "Macro" e depois em "Editor do Visual Basic".


Clique no menu "Inserir" e depois em "UserForm".


Clique com o botão direto do mouse sobre o "UserForm1" e escolha "Exibir Código".


Cole o seguinte código na janela de códigos:
Private Sub UserForm_Initialize()
      ComboBox1.ColumnCount = 1
      'Carrega a sigla dos estados
      ComboBox1.List() = Array("AC", "AL", "AP", "AM", "BA", "CE", "DF", "ES", "GO", "MA", "MT", "MS", "MG", "PA", "PB", "PR", "PE", "PI", "RJ", "RN", "RS", "RO", "RR", "SC", "SP", "SE", "TO")
End Sub
Onde estão as siglas dos estados você pode colocar o que você quiser desde que respeite as aspas e as vírgulas. O que estiver entre as aspas é que aparecerá como opção no preenchimento do campo.


Feche a janela de códigos.


Em seguida, clique com o botão direto do mouse sobre o "UserForm1" e escolha "Propriedades".


Na caixa de propriedades, na aba "Alfabético", em "(Name)", altere "UserForm1" para "frmcombo". Atere também o "Caption" para "Microsot Word".


Feche a janela de propriedades. Na "Caixa de ferramentas" selecione "Caixa de combinação"  e arraste para cima da janela de formulário para criar uma combobox.


Clique com o botão direito do mouse sobre a combobox que você criou e escolha "Exibir Código".


Onde está:
Private Sub ComboBox1_Change()
End Sub
Coloque:
Private Sub ComboBox1_Change()
      ActiveDocument.FormFields("lista").Result = ComboBox1.Value
End Sub

Feche a janela de códigos. Na "Caixa de ferramentas" selecione "Botão de comando"  e arraste para cima da janela de formulário abaixo da combobox para criar um botão.


Clique com o botão direito do mouse em cima do botão e escolha "Exibir código". Na janela de código cole o seguinte trecho:
Private Sub Cmdclose_Click()
      Unload Me
End Sub
Vai ficar como na imagem abaixo:


Feche essa janela de código, clique com o botão direito em cima do botão e escolha "Propriedades". Na aba alfabético, na frente de "(name)", onde está "CommandButton1" altere para "Cmdclose". Na frente de "Caption" apague "CommandButton1" e escreva "Fechar" no lugar.


Feche a janela de propriedades e se a janela "Caixa de ferramentas" ainda estiver aberta feche-a também para voltar à árvore de projetos. Depois vá ao menu "Inserir" e clique em "Módulo".


Será aberta uma janela onde você deverá inserir o seguinte código:
Sub gocombobox()
      frmcombo.Show
End Sub

Agora clique no menu "Arquivo" e escolha "Fechar e voltar para o Microsoft Word".

Pronto! A parte de códigos está concluída, vamos agora a configuração que irá gerar o resultado esperado.

Clique no menu "Exibir",  "Barra de ferramentas" e depois em "Formulários". Irá surgir uma barra de ferramentas flutuante. Crie o seu formulário normalmente e quando for criar um campo para receber as sigas dos estados, crie um campo de  "Formulário de texto" - primeiro botão da caixa de ferramentas - ao invés de usar o "Campo de formulário suspenso" que é o mesmo que dropdown.

Para exemplificar eu criei um mini formulário como exemplo, veja abaixo.


Clique com o botão direito sobre o "Campo de formulário de texto" que irá receber as siglas dos estados e escolha "Propriedades".


Na janela de propriedades do campo configure da seguinte forma:

Em "Entrada", deixe selecionado "gocombobox".
Em "Indicador", apague o que estiver escrito e escreva "lista".
Confirme em "OK".

Proteja o formulário clicando no ícone de cadeado e salve o documento como modelo do Word.

Isso conclui o procedimento, assim quando o campo que deverá ser preenchido com a sigla do estado ganhar o foco, surgirá um formulário com combobox onde você selecionará a sigla adequada e depois clicará em fechar para completar o preenchimento.

Não esqueça de Habilitar as Macros quando reabrir o documento.

_______________________________________

Word 2007 e 2010:

Se você usa o Word 2007 leia a publicação inteira e qualquer dúvida que você possa vir a ter, a publicação Trabalhando com campos editáveis no Word poderá esclarecer para você.

Bem como se você usa o Word 2010, também leia a publicação inteira e esclareça dúvidas sobre como habilitar os recursos de formulários e o editor do visual basic vendo a publicação Usando o combobox no Word 2003 e 2010.

_______________________________________

Se quiser baixar o exemplo clique no link abaixo:

Senha para descompactar: lomeutec

Até a próxima. (^_^)v

Nilton (LOMEUTEC)
É formado como técnico em informática com ênfase em análise de sistemas e programação comercial. No entanto gosta mesmo é de fazer publicações para o blog lomeutec.blogspot.com onde compartilha grande parte do pouco conhecimento autodidata que adquire através de experiências, estudos diários e até mesmo de tudo aquilo que descobre enquanto navega despreocupadamente pela internet em seus momentos de ócio. Aqui no LTI acumula funções de publicador, moderador, editor, administrador e o que mais for possível e necessário.