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.




Formação Pacote Office



eBook Word 2010 VBA

Política de Privacidade  |   © 2013 Tutoriais Word - Todos os direitos reservados