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

Enter em vez de Tab





Por padrão, para navegar entre os campos de um formulário usa-se a tecla TAB, porém alguns usuários não sabem disso e acabam apertando a tecla ENTER, isso faz com que desconfigure  todo seu documento. Por exemplo, quando se aperta a tecla ENTER dentro de um Campo de formulário texto, cria-se uma nova linha.


Veja nas imagem abaixo:


Ilustração 1 - Mudando de campo usando TAB


Formulário


Ilustração 2 - ENTER dentro de um Campo de Formulário Texto


Formulário


Para que a tecla ENTER funcione como a tecla TAB é preciso recorrer a uma pequena rotina de programação em linguagem Visual Basic for Applications (VBA). Isso é necessário porque não há uma outra forma de fazer isso, senão via programação.


Com as macros abaixo é possível fazer com que a tecla ENTER mude para o próximo campo como se fosse a tecla TAB.


Abra o documento que contém o formulário e clique no Menu Ferramentas >> Macro >> Editor do Visual Basic ou se referir acione a combinação de teclas Alt+F11


Editor do Visual Basic


No Editor do Visual Basic Insira um novo Módulo e cole a seguinte macro:


Inserir Módulo


Sub EnterKeyMacro()

If ActiveDocument.ProtectionType = wdAllowOnlyFormFields And _

Selection.Sections(1).ProtectedForForms = True Then

myformfield = Selection.Bookmarks(1).Name

If ActiveDocument.FormFields(myformfield).Name <> _

ActiveDocument.FormFields(ActiveDocument.FormFields.Count) _

.Name Then

ActiveDocument.FormFields(myformfield).Next.Select

Else

ActiveDocument.FormFields(1).Select

End If

Else

Selection.TypeText Chr(13)

End If

End Sub


Deverá ficar como na imagem abaixo:


Janela de Código


Agora na janela de Projeto (Project) dê um duplo clique em ThisDocument e cole a seguinte macro:


ThisDocument


Private Sub Document-Open()

CustomizationContext = ActiveDocument.AttachedTemplate

KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyReturn), _

KeyCategory:=wdKeyCategoryMacro,Command:="EnterKeyMacro"

End Sub


Deverá ficar como na imagem abaixo:


Janela de Código


Parte inferior do formulário


OBS:  Essa ação afetará todos os aplicativos do Office portanto se desejar usar um outro aplicativo ou abrir outro documento é recomendável fechar o documento que contém o formulário.


Por esse motivo é obrigatório que se coloque a macro abaixo no evento close do documento para que a tecla ENTER volte funcionar normalmente quando o documento for fechado.


Portanto em ThisDocument copie e cole a macro abaixo:


Private Sub Document-Close()

CustomizationContext = ActiveDocument.AttachedTemplate

FindKey(KeyCode:=BuildKeyCode(wdKeyReturn)).Disable

Templates(1).Save

End Sub


Deverá ficar como na imagem abaixo:


Janela de Código




Veja também...


Conhecendo os Controles de Formulários


Como criar Formulário no Word


Como criar Formulários com Cálculo automático - Exemplo 1


Como criar Formulários com Cálculo automático - Exemplo 2


Como proteger somente o Formulário e deixar o restante do documento livre para edição


Formulário com Macro - Exemplo 1: Cálculo Automático


Formulário com Macro - Exemplo 2: Repetindo conteúdo dos controles


Formulário com Macro - Exemplo 3: Caixa de Seleção


Formulário com Macro - Exemplo 4: Usar Enter em vez de Tab


Inserindo Texto de Ajuda



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