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
Ilustração 2 - ENTER dentro de um Campo de Formulário Texto
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.
No Editor do Visual Basic clique no menu Inserir e depois em 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:
Agora na janela de Projeto (Project) dê um duplo clique em ThisDocument e cole a seguinte macro:
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:
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:
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:
Na janela de Opções do Word clique em Central de Confiabilidade:
Clique em 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.
Para concluir clique no botão OK. Agora o Microsoft Word está habilitado para executar macros.