Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Para obter uma versão do Microsoft Word 97 deste artigo, consulte
187985.

Sumário

Este artigo contém quatro Microsoft macros Visual Basic for Applications que pode utilizar para emular o Microsoft Word 6.0 para a funcionalidade da tecla ENTER para se mover entre campos do formulário em documentos protegidos do Windows.

Mais informações

A Microsoft fornece exemplos de programação apenas, a título sem garantia expressa ou implícita, incluindo, sem limitação, garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas utilizadas para criar e depurar procedimentos. Os profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas.
Se dispõe de limitada experiência de programação, poderá pretender contactar um Microsoft Certified Partner ou a serviços de aconselhamento da Microsoft. Para mais informações, visite estes Web sites da Microsoft:

Parceiros Microsoft certificados - https://partner.microsoft.com/global/30000104

Serviços de aviso de Microsoft - http://support.microsoft.com/gp/advisoryservice

Para mais informações sobre as opções de suporte disponíveis e sobre como contactar a Microsoft, visite o seguinte Web site da Microsoft:http://support.microsoft.com/default.aspx?scid=fh; EN-US; CNTACTMS
Para obter informações adicionais sobre como executar o código de exemplo, clique no número de artigo abaixo para visualizar o artigo na Microsoft Knowledge Base:

212536 OFF2000: como executar o código de exemplo artigos da Knowledge Base

INTRODUZIR chave funcionalidade no Word 6.0

No Word 6.0 para Windows, se premir a tecla ENTER num documento que está protegido para formulários, o ponto de inserção move para o campo de formulário seguinte. Por outro lado, em versões posteriores do Word, a tecla ENTER não se move para o campo de formulário seguinte mas em vez disso, insere uma marca de parágrafo, tal como o faz num documento não protegido. Isto permite-lhe introduzir várias linhas de texto num campo de formulário de texto.

Macros

Seguem-se quatro macros Visual Basic for Applications que pode utilizar em conjunto para emular o Word 6.0 para a funcionalidade do Windows da tecla ENTER em novos documentos de campo de formulário protegido baseado num modelo. Segue-se uma breve descrição da funcionalidade de cada macro:

  • A primeira macro move o ponto de inserção para o campo de formulário seguinte.

  • A segunda macro atribui a primeira macro para a tecla ENTER.

  • A terceira macro garante que a funcionalidade chave continua quando abre um documento baseado no modelo de formulário no futuro.

  • A macro quarta remove a macro atribuída a tecla ENTER, restaurar a funcionalidade predefinida da tecla ENTER.

Importante: para este código funcionar como escrita, o modelo não deve ser protegido. Se o modelo estiver protegido, receberá a seguinte mensagem de erro:

Não é possível modificar o contexto.

Para desproteger o modelo, siga estes passos:

  1. Abra o modelo que contém as macros descritas neste artigo.

  2. No menu Ferramentas , clique em Desproteger documento.

  3. No menu ficheiro , clique em Guardar.

  4. No menu ficheiro , clique em Fechar.

Primeira Macro: Mover o ponto de inserção para o campo de formulário seguinte

Esta macro move o ponto de inserção para o campo de formulário seguinte. Se o campo de formulário actual for o último no documento, move o ponto de inserção para o primeiro campo de formulário.

Esta macro utiliza a colecção de marcadores para obter o nome do campo de formulário actual. O nome de cada campo de formulário é também o nome de um marcador inserido para o campo de formulário. Se tiver quaisquer outros marcadores no documento, poderá ter de adicionar mais código aqui para processar erros potenciais. A macro também parte do princípio de que todos os campos de formulário nos documentos permitem a introdução de dados. Se não for este o caso no documento, terá de adicionar código adicional na macro.

A macro verifica se a secção actual está protegida ou não protegido e, em seguida, move para o campo de formulário seguinte (numa secção protegida) ou insere uma marca de parágrafo (de uma secção desprotegida). Esta funcionalidade é necessária para documentos que contêm ambas as secções que estão protegidas para formulário de entrada e desprotegido secções.

Sub EnterKeyMacro()
' Check whether the document is protected for forms
' and whether the protection is active.
If ActiveDocument.ProtectionType = wdAllowOnlyFormFields And _
Selection.Sections(1).ProtectedForForms = True Then
' Retrieve the bookmark of the current selection.
' This is equivalent to the name of the form field.
myformfield = Selection.Bookmarks(1).Name
' Go to the next form field if the current form field
' is not the last one in the document.
If ActiveDocument.FormFields(myformfield).Name <> _
ActiveDocument.FormFields(ActiveDocument.FormFields.Count) _
.Name Then
ActiveDocument.FormFields(myformfield).Next.Select
Else
' If the current form field is the last one,
' go to the first form field in the document.
ActiveDocument.FormFields(1).Select
End If
Else
' If the document is not protected for forms,
' insert a tab stop character.
Selection.TypeText Chr(13)
End If
End Sub

Segunda Macro: Atribuir a Macro de EnterkeyMacro para a tecla ENTER

Esta macro anexa a macro de EnterKeyMacro a tecla ENTER, assim sua reprogramação a função da chave quando é utilizado em campos de formulário do documento protegido. Quando utilizar esta macro no modelo personalizado, o nome AutoNew. Isto altera a funcionalidade da tecla ENTER em todos os documentos de formulário novo baseado no modelo.

Sub AutoNew()
' Do Not protect the template containing these macros.
CustomizationContext = ActiveDocument.AttachedTemplate
' Bind the ENTER key to the EnterKeyMacro.
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyReturn), _
KeyCategory:=wdKeyCategoryMacro, Command:="EnterKeyMacro"
' Reprotect the document with Forms protection.
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True
End Sub

Terceira Macro: Atribuir a Macro AutoOpen seja a tecla ENTER

Adicione uma macro AutoOpen seja com o seguinte código. Isto garante que a funcionalidade chave continua quando abre um documento baseado no modelo de formulário no futuro.

Sub AutoOpen()
' This macro will reassign the ENTER key when you open an existing
' Word form fields document.
CustomizationContext = ActiveDocument.AttachedTemplate
' Bind the Enter key to the EnterKeyMacro.
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyReturn), _
KeyCategory:=wdKeyCategoryMacro, Command:="EnterKeyMacro"
End Sub

Nota: executar estas macros podem desactivar algumas funcionalidades, tais como a correcção automática e de texto automático e pode afectar outras funcionalidades que dependem da tecla ENTER para um funcionamento correcto. É necessário executar a macro quarta para restaurar a funcionalidade predefinida da tecla ENTER ou reinicie o Microsoft Word.

Quarta Macro: Remover o comando atribuído para a tecla ENTER

Esta macro restaura a funcionalidade predefinida da tecla ENTER. Quando utilizar esta macro no modelo personalizado, o nome AutoClose.

Sub AutoClose()
CustomizationContext = ActiveDocument.AttachedTemplate
FindKey(KeyCode:=BuildKeyCode(wdKeyReturn)).Disable
' Disables prompt to save template changes.
Templates(1).Save
End Sub

Nota: A propriedade CustomizationContext define a localização onde a personalização do teclado deve ser guardado, neste caso, o modelo anexado ao documento activo.

Referências

Para obter informações adicionais sobre recursos disponíveis para criar soluções personalizadas utilizando o Visual Basic for Applications e o Microsoft Word 2000, clique nos números de artigo abaixo para visualizar os artigos na Microsoft Knowledge Base:

212623 WD2000: recursos de programação de Macro

226118 OFF2000: recursos de programação para Visual Basic for Applications

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×