Tutoriais Word
Home  |  Tutoriais  |  Artigos  |  VBA  |  Download  |  eBooks Word VBA  |  Dicas e Truques  |  Teclas de Atalho  |  Serviços  |  Contato


Categorias

Básico/Intermediário

  Avançado

  VBA

  Tabelas

  Formulário

  Campo

  Livros

  ABNT

  TCC


Personalizando Formulário

eBook Word 2010 VBA

Tabela do Word como banco de dados


VBA - Como permitir a seleção de apenas uma Caixa de Seleção.





A Caixa de Seleção ativa ou desativa um valor que indica uma opção.


Por padrão a Caixa de Seleção usada em um formulário permite a seleção de vários itens ao mesmo tempo, como pode ser visto na imagem abaixo:


Caixa de Seleção


Como pode ser vista na imagem acima é possível marcar mais de uma caixa de seleção por vez em um documento. Porém, às vezes queremos que o usuário selecione apenas uma das várias opções fornecidas em um formulário.


Neste tutorial mostrarei como impedir que o usuário selecione mais de uma opção ao mesmo tempo. Para isso criaremos uma macro que impedirá a múltipla seleção em um grupo de Caixas de Seleção.


Siga os passos a seguir:


1- Abra o documento que contém o formulário com as Caixas de Seleção ou crie um novo documento.


Neste exemplo usaremos um formulário como o da imagem abaixo:


Formulário


2- O processo exige que cada Caixa de Seleção no grupo seja nomeado com um prefixo, um ID de Grupo de quatro dígitos e um caráter sequência única. Veja um exemplo:


A primeira Caixa de Seleção altere o nome do Indicador para CHK_1234_A


Caixa de Seleção


A imagem acima mostra essa convenção de nomenclatura aplicada à Caixa de Seleção "Azul". Semelhantemente os Indicadores das caixas de seleção restantes deverão ser alterados para CHK_1234_B, CHK_1234_C e CHK_1234_D


Observe que cada Indicador tem um prefixo comum CHK, um identificador de grupo comum 1234 e um sufixo exclusivo sequencial A, B, C e D.


2- Acesse o Editor do VBA através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente use o atalho ALT + F11.


Visual Basic


3- No ambiente de desenvolvimento clique no menu Inserir e depois clique em Módulo.


Inserir Módulo


4- Na janela de Código criaremos uma macro e daremos o nome de selecaounica, portanto, adicione o seguinte código.


Sub selecaounica()
Dim strTemp As String
Dim oFF As FormField
Dim strGrpID As String
Dim strSeqID As String
Dim i As Long
Dim strSeqNext As String

'Permite até 26 Caixas de Seleção por Grupo
strTemp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

Set oFF = Selection.FormFields(1)
If oFF.CheckBox.Value = True Then
strGrpID = Left(oFF.Name, 8)
strSeqID = UCase(Right(oFF.Name, 1))
If strSeqID Like "[A-Z]" Then

'Limpa todoas as Caixas de Seleção, inclusive aquela que foi selecionada (assegura que somente uma Caixa de Seleção seja selecionada).
For i = 1 To Len(strTemp)
strSeqNext = strGrpID & "_" & Mid(strTemp, i, 1)
If ActiveDocument.Bookmarks.Exists(strSeqNext) Then
ActiveDocument.FormFields(strSeqNext).CheckBox.Value = False
End If
Next i

'Define a Caixa de Seleção que foi selecionada
oFF.CheckBox.Value = True
End If
End If
lbl_Exit:
Exit Sub
End Sub



Deverá ficar como na imagem abaixo:


Caixa de Seleção


5- Feche o Editor do Visual Basic para voltar ao Word, clicando no menu Arquivo e em Fechar e voltar para o Microsoft Word.


Fechar e Voltar para o Microsoft Word


6- Na primeira Caixa de Seleção clique com o botão direito do mouse e selecione Propriedades para exibir a caixa de diálogo Opções do campo de formulário caixa de seleção.


Opções do campo de formulário


7- Em Executar macro em selecione a macro selecaounica nos campos Entrada e Saída.


Opções do campo de formulário


Execute o mesmo procedimento nas demais Caixas de Seleção.


8- Para ver o nosso exemplo em funcionamento proteja o formulário e selecione uma opção e em seguida tente selecionar outra opção, você perceberá que sempre que uma nova opção for selecionada a outra será desmarcada.


Caixa de Seleção


Consideração Final:


Se houver outros grupos de Caixa de Seleção em seu formulário que você queira impedir a seleção múltipla, basta alterar a identificação de grupo comum no campo Indicador. Observe que para o primeiro grupo de Caixa de Seleção a identificação do grupo é 1234 (CHK_1234_A), para um segundo grupo podemos usar 4567 (CHK_4567_A).


Por exemplo, digamos que no formulário tem um outro grupo com três Caixas de Seleção, então, ficaria Assim:


CHK_4567_A


CHK_4567_B


CHK_4567_C


Caixa de Seleção





Gostou? Se quiser mais eu tenho um e-Book sobre VBA que você pode se interessar.
Confira aqui







ebook word 2010 vba
      

 Inscreva-se

 E seja informado sempre que um novo tutorial for publicado.

 E mais... Você poderá fazer gratuitamente o download de 02(dois) e-Books:
- Como preencher uma tabela(VBA) - Iniciante;
- Como preencher uma tabela com várias linhas(VBA) - Iniciante.


 Nome* 
 E-mail* 
 *Preenchimento obrigatório.
Prometemos não utilizar suas informações de contato para enviar qualquer tipo de SPAM.

 



eBook Word 2010 VBA


© 2013 Tutoriais Word - Todos os direitos reservados