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

Enter em vez de Tab em formulário no Word 2007.





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 acione a Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou se referir acione a combinação de teclas Alt+F11.


Visual Basic


No Editor do Visual Basic clique no menu Inserir e depois em Módulo:


Inserir Módulo


Vamos criar uma macro e daremos o nome a ela de EnterTab, portanto, na Janela de Código adicione o seguinte código:



Sub EnterTab()
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


Na Janela de Código adicione as seguintes linhas de código no procedimento Open:



Private Sub Document-Open()
CustomizationContext = ActiveDocument.AttachedTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyReturn), _
KeyCategory:=wdKeyCategoryMacro,Command:="EnterTab"
End Sub



Deverá ficar como na imagem abaixo:


Janela de Código


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, novamente em ThisDocument, adicione 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


Feche o Editor do Visual Basic, proteja o documento e faça um teste.



Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word. Pra isso clique no Botão do Office e em seguida clique no botão Opções do Word, como mostra as imagens abaixo:


Opções do Word


Na janela de Opções do Word clique em Central de Confiabilidade:


Central de Confiabilidade


Clique em Configurações da Central de Confiabilidade...


Configurações da Central de Confiabilidade


Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.


Configurações de Macro


Para concluir clique no botão OK. Agora o Microsoft Word está habilitado para executar macros.









Conteúdo Correspondente:




eBook Word 2010 VBA

© 2013 Tutoriais Word - Todos os direitos reservados