Do Básico ao Avançado
Home | Tutoriais | Artigos |Contato

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







Conteúdo Correspondente:




eBook Word 2010 VBA

© 2013 Tutoriais Word - Todos os direitos reservados