Como Criar uma Macro VBA no Word que Insere um Campo Personalizado no Cursor
🔍 WiseChecker

Como Criar uma Macro VBA no Word que Insere um Campo Personalizado no Cursor

Você quer inserir um campo personalizado na posição exata do cursor em um documento do Word sem navegar manualmente pelos menus toda vez. O Word não inclui um comando nativo para inserir códigos de campo arbitrários com um clique. Escrevendo uma macro VBA curta, você pode inserir qualquer código de campo, como DocProperty, UserName ou uma fórmula personalizada, diretamente onde o cursor está. Este artigo explica como criar, executar e atribuir um atalho de teclado a uma macro VBA que insere um campo personalizado no ponto de inserção.

Principais conclusões: Criando uma Macro VBA para Inserir um Campo Personalizado

  • Alt+F11 (Editor VBA): Abre o ambiente onde você escreve e armazena o código da macro.
  • Método Selection.Fields.Add: O comando VBA que insere um campo na posição atual do cursor com uma string de código de campo específica.
  • Arquivo > Opções > Personalizar Faixa de Opções > Desenvolvedor: Habilita a guia Desenvolvedor necessária para acessar o botão Macros e o Editor do Visual Basic.

ADVERTISEMENT

O que a Macro VBA Faz e o que Você Precisa Antes de Começar

Uma macro VBA é um pequeno programa que automatiza tarefas repetitivas no Word. A macro que você criará usa o método Selection.Fields.Add para inserir um campo na localização exata do cursor de texto. Um campo é um conjunto de códigos que instrui o Word a inserir conteúdo dinâmico, como propriedades do documento, números de página ou valores calculados. A macro não requer nenhum complemento externo; ela é executada inteiramente no mecanismo VBA do Word.

Antes de criar a macro, você precisa habilitar a guia Desenvolvedor na Faixa de Opções. A guia Desenvolvedor fornece acesso ao Editor do Visual Basic (VBE), gravação de macros e configurações de segurança de macros. Sem essa guia, você não pode escrever ou executar macros. Você também precisa definir o nível de segurança de macro para permitir todas as macros ou pelo menos para solicitar antes de habilitá-las. As etapas abaixo assumem que você está usando Word 2019, Word 2021 ou Word para Microsoft 365 no Windows 10 ou Windows 11. O mesmo processo funciona no Word 2016.

Etapas para Criar e Executar uma Macro VBA que Insere um Campo Personalizado no Cursor

Habilitar a Guia Desenvolvedor e Ajustar a Segurança de Macro

  1. Abra o Word e vá para Arquivo > Opções
    Clique em Arquivo no canto superior esquerdo e depois em Opções na parte inferior do menu esquerdo.
  2. Selecione Personalizar Faixa de Opções
    Na caixa de diálogo Opções do Word, clique em Personalizar Faixa de Opções na barra lateral esquerda.
  3. Marque a caixa Desenvolvedor na lista à direita
    Em Guias Principais, encontre Desenvolvedor e marque sua caixa. Clique em OK para fechar a caixa de diálogo. A guia Desenvolvedor agora aparece na Faixa de Opções.
  4. Abra as configurações de Segurança de Macro
    Clique na guia Desenvolvedor e depois em Segurança de Macro no grupo Código.
  5. Selecione Habilitar todas as macros
    Na caixa de diálogo Central de Confiabilidade, escolha Habilitar todas as macros. Marque também Confiar acesso ao modelo de objeto do projeto VBA. Clique em OK. Essa configuração permite que sua macro seja executada sem interrupções.

Escrever o Código da Macro VBA

  1. Abra o Editor do Visual Basic
    Na guia Desenvolvedor, clique em Visual Basic. Como alternativa, pressione Alt+F11 no teclado.
  2. Insira um novo módulo
    No Editor VBA, clique em Inserir na barra de menus e selecione Módulo. Uma janela de código em branco é aberta.
  3. Cole o código da macro no módulo
    Copie o código a seguir e cole na área de código branca:

    Sub InserirCampoPersonalizado()
    Dim codigoCampo As String
    codigoCampo = InputBox("Digite o código do campo a inserir:")
    If codigoCampo <> "" Then
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:=codigoCampo
    End If
    End Sub

    Esta macro exibe uma caixa de entrada onde você digita o código do campo, como DOCPROPERTY "Author" ou =SUM(1,2). Se você inserir um código, ele insere esse campo no cursor.

  4. Salve a macro
    Pressione Ctrl+S. Na caixa de diálogo Salvar Como, escolha um nome como “MacroCampoPersonalizado” e mantenha o tipo de arquivo como .bas. A macro agora está armazenada no modelo Normal.dotm, ficando disponível em todos os documentos futuros.
  5. Feche o Editor VBA
    Clique no X no canto superior direito da janela do Editor VBA para retornar ao seu documento.

Executar a Macro

  1. Posicione o cursor onde deseja o campo
    Clique no documento no local exato onde o campo deve aparecer.
  2. Abra a caixa de diálogo Macros
    Na guia Desenvolvedor, clique em Macros. A caixa de diálogo Macros lista todas as macros disponíveis.
  3. Selecione InserirCampoPersonalizado e clique em Executar
    Clique no nome da macro e depois em Executar. Uma caixa de entrada aparece.
  4. Digite o código do campo e pressione Enter
    Por exemplo, digite DOCPROPERTY "Company" e pressione Enter. O campo é inserido na posição do cursor.

Atribuir um Atalho de Teclado à Macro (Opcional)

  1. Vá para Arquivo > Opções > Personalizar Faixa de Opções
    Clique em Arquivo, depois Opções e Personalizar Faixa de Opções.
  2. Clique no botão Personalizar ao lado de Atalhos do teclado
    Na parte inferior da caixa de diálogo, clique em Personalizar.
  3. Selecione Macros na lista Categorias
    Role a lista esquerda e clique em Macros.
  4. Selecione InserirCampoPersonalizado na lista Comandos
    Clique no nome da macro na lista direita.
  5. Pressione uma nova combinação de tecla de atalho
    Clique na caixa Pressione nova tecla de atalho e pressione, por exemplo, Alt+Shift+F. Clique em Atribuir e depois em Fechar. Agora você pode pressionar esse atalho para executar a macro.

ADVERTISEMENT

Problemas Comuns com Macros e o que Observar

A Macro Não Aparece na Lista de Macros

Se a macro estiver faltando na caixa de diálogo Macros, você pode ter salvo o módulo em um documento que não está aberto. Macros armazenadas no Normal.dotm estão sempre disponíveis. Para mover uma macro para Normal.dotm, abra o Editor VBA, arraste o módulo do projeto do documento para o projeto Normal ou recrie a macro em um novo módulo sob Normal.

O Word Mostra um Aviso de Segurança e Bloqueia a Macro

Se você vir uma barra amarela dizendo “As macros foram desabilitadas”, sua segurança de macro está definida como Desabilitar todas as macros. Vá para Desenvolvedor > Segurança de Macro e selecione Habilitar todas as macros. Para maior segurança, você pode assinar digitalmente a macro ou armazená-la em um local confiável.

O Campo Não Atualiza Após a Inserção

Campos inseridos pela macro exibem o valor atual no momento da inserção. Para atualizar o campo, clique com o botão direito e selecione Atualizar Campo, ou pressione F9 com o campo selecionado. Para fazer o campo atualizar automaticamente quando o documento for aberto, inclua a opção \ MERGEFORMAT no código do campo, por exemplo: DOCPROPERTY "Author" \ MERGEFORMAT.

Inserir um Campo que Requer um Marcador ou Intervalo Nomeado

Alguns tipos de campo, como REF ou PAGEREF, exigem que um marcador exista no documento. Se você inserir um campo referenciando um marcador ausente, o Word exibe um erro. Defina o marcador primeiro selecionando o texto e pressionando Ctrl+Shift+F5, depois use a macro para inserir o campo com o nome correto do marcador.

Inserção Manual vs Macro VBA: Métodos de Inserção de Campo Comparados

Item Inserção Manual (Alt+F9 + Ctrl+F9) Macro VBA (Selection.Fields.Add)
Velocidade Múltiplas teclas por campo Um clique ou atalho de teclado
Flexibilidade do código do campo Deve digitar o código manualmente entre colchetes Aceita qualquer string de código de campo válida
Repetibilidade Repetir etapas a cada vez Macro pode ser executada centenas de vezes
Risco de erro Erro de digitação nos colchetes ou código Código consistente; validação de entrada opcional
Curva de aprendizado Nenhum conhecimento de VBA necessário Conhecimento básico de VBA necessário

Agora você pode criar uma macro VBA que insere um campo personalizado no cursor no Word. Comece habilitando a guia Desenvolvedor, escrevendo a macro no Editor VBA e executando-a a partir da caixa de diálogo Macros. Para acesso mais rápido, atribua um atalho de teclado como Alt+Shift+F. Para estender a macro, modifique o código para aceitar um código de campo predefinido sem uma caixa de entrada, ou para inserir vários campos em sequência.

ADVERTISEMENT