Como criar um estilo no Word que insere marcador automaticamente
🔍 WiseChecker

Como criar um estilo no Word que insere marcador automaticamente

Você deseja um estilo no Word que insira automaticamente um marcador (bookmark) sempre que aplicá-lo a um texto. O Word não oferece uma propriedade de estilo nativa para anexar uma ação de marcador. Este artigo explica como usar uma macro vinculada ao estilo para inserir um marcador ao aplicar o estilo. Você aprenderá a criar um estilo personalizado, escrever uma macro VBA que é executada na aplicação do estilo e atribuir essa macro ao estilo para criação automática de marcadores.

Principais conclusões: Automatizando marcadores com um estilo do Word

  • Criação de estilo personalizado em Página Inicial > Estilos > Criar um Estilo: Crie um novo estilo de parágrafo ou caractere que acionará a macro de marcador.
  • Macro VBA em Desenvolvedor > Visual Basic > Inserir Módulo: Escreva uma macro curta que insira um marcador com o nome do texto selecionado quando o estilo for aplicado.
  • Macro anexada via eventos Document_New ou Document_Open: Use AutoOpen ou AutoNew para executar a macro automaticamente ao aplicar o estilo em documentos novos ou existentes.

ADVERTISEMENT

Entendendo o recurso de estilo com marcador automático

Os estilos do Word controlam propriedades de fonte, parágrafo e formatação. Eles não incluem um campo ou configuração para adicionar um marcador. Para fazer um estilo aplicar um marcador ao ser usado, você precisa de uma macro VBA que seja executada quando o estilo for aplicado. A macro lê o texto selecionado e insere um marcador com esse texto como nome. Marcadores no Word armazenam um local ou seleção para referências cruzadas, hiperlinks ou navegação. Essa abordagem funciona tanto para estilos de parágrafo quanto para estilos de caractere. Pré-requisitos: habilite a guia Desenvolvedor no Word e permita a execução de macros no seu documento ou modelo.

Passos para criar um estilo que insere marcador automaticamente

Siga estes passos para configurar a macro e o estilo. Primeiro você criará um estilo personalizado, depois escreverá a macro e, por fim, anexará a macro ao estilo usando um evento de documento.

Passo 1: Criar o estilo personalizado

  1. Abrir o painel Estilos
    Pressione Ctrl+Alt+Shift+S para abrir o painel Estilos. Clique no botão Novo Estilo no canto inferior esquerdo.
  2. Definir as propriedades do estilo
    Na caixa de diálogo Criar Novo Estilo a partir da Formatação, insira um nome como “AutoMarcador”. Escolha Parágrafo ou Caractere em Tipo de estilo. Defina fonte, tamanho e outras formatações conforme necessário.
  3. Salvar o estilo
    Selecione “Novos documentos baseados neste modelo” se quiser que o estilo esteja disponível em todos os documentos futuros. Clique em OK.

Passo 2: Habilitar a guia Desenvolvedor e abrir o editor VBA

  1. Mostrar a guia Desenvolvedor
    Vá em Arquivo > Opções > Personalizar Faixa de Opções. Em Guias Principais, marque Desenvolvedor. Clique em OK.
  2. Abrir o editor VBA
    Na guia Desenvolvedor, clique em Visual Basic. Alternativamente, pressione Alt+F11.

Passo 3: Escrever a macro para inserir um marcador

  1. Inserir um novo módulo
    No editor VBA, clique com o botão direito no seu documento ou no projeto Normal no Explorador de Projetos. Escolha Inserir > Módulo.
  2. Colar o código da macro de marcador
    Copie e cole o seguinte código no módulo:
    Sub InsertBookmarkOnStyle()
    Dim sel As Selection
    Set sel = Selection
    If sel.Type = wdSelectionNormal Then
    If sel.Words.Count >= 1 Then
    Dim bkmName As String
    bkmName = Replace(sel.Text, " ", "_")
    bkmName = Left(bkmName, 40)
    bkmName = Replace(bkmName, vbCr, "")
    ActiveDocument.Bookmarks.Add Name:=bkmName, Range:=sel.Range
    End If
    End If
    End Sub

    Esta macro cria um marcador usando o texto selecionado, substitui espaços por sublinhados e limita o nome a 40 caracteres.
  3. Salvar a macro
    Pressione Ctrl+S para salvar o módulo. Se solicitado, salve o documento como um arquivo habilitado para macro (.docm).

Passo 4: Anexar a macro ao estilo via um evento de documento

  1. Abrir o objeto Document
    No editor VBA, clique duas vezes em “ThisDocument” sob seu projeto no Explorador de Projetos.
  2. Adicionar o evento AutoOpen ou AutoNew
    Cole o seguinte código para executar a macro quando o documento abrir ou um novo documento for criado:
    Private Sub Document_Open()
    Application.OnTime When:=Now + TimeValue("00:00:01"), Name:="InsertBookmarkOnStyle"
    End Sub

    Isso atrasa a macro em um segundo para garantir que o estilo seja aplicado primeiro. Para novos documentos, use Private Sub Document_New().
  3. Salvar e fechar o editor VBA
    Pressione Ctrl+S e feche o editor.

Passo 5: Testar o estilo de marcador automático

  1. Aplicar o estilo ao texto
    Selecione uma palavra ou frase no seu documento. Na guia Página Inicial, clique no estilo AutoMarcador na galeria de Estilos.
  2. Verificar o marcador
    Pressione Ctrl+G para abrir a caixa de diálogo Ir Para. Em Ir para, selecione Marcador. O nome do marcador deve corresponder ao texto selecionado (espaços substituídos por sublinhados).

ADVERTISEMENT

Problemas comuns e limitações do estilo de marcador automático

Nome do marcador contém caracteres inválidos

Os nomes de marcadores no Word não podem conter espaços nem começar com número. A macro acima substitui espaços por sublinhados. Se o texto começar com um dígito, a macro falhará. Modifique a macro para adicionar um prefixo “Bkm_” ao nome: bkmName = "Bkm_" & bkmName.

A macro não é executada quando o estilo é aplicado

O evento Document_Open é executado apenas quando o documento é aberto, não quando o estilo é aplicado. Para acionar a macro na aplicação do estilo, você deve usar a abordagem Application.OnTime mostrada, que executa a macro uma vez após um atraso. Para uso repetido, aplique o estilo e execute a macro manualmente pressionando Alt+F8 e selecionando InsertBookmarkOnStyle.

O marcador sobrescreve marcadores existentes

Se o texto selecionado corresponder a um nome de marcador existente, o Word sobrescreve o marcador antigo. Adicione uma verificação na macro para perguntar antes de sobrescrever: If ActiveDocument.Bookmarks.Exists(bkmName) Then MsgBox "O marcador já existe."

Avisos de segurança de documento habilitado para macro

O Word desabilita macros por padrão. Salve o documento em um local confiável ou assine digitalmente a macro para evitar avisos.

Inserção manual de marcador vs estilo habilitado para macro

Item Inserção Manual de Marcador Estilo Habilitado para Macro
Esforço de configuração Nenhum, nativo Requer macro VBA e criação de estilo
Velocidade Selecionar texto, Inserir > Marcador, digitar nome Aplicar estilo, macro executa automaticamente
Consistência Depende da nomeação do usuário Impõe convenção de nomenclatura (espaços para sublinhados)
Requer permissão de macro Não Sim
Funciona no Word Online Sim Não

Agora você pode criar um estilo no Word que insere automaticamente um marcador ao ser aplicado. A macro renomeia o marcador com base no texto selecionado e limita o tamanho do nome. Teste a configuração com um documento de exemplo. Para uso avançado, modifique a macro para incluir um prefixo como “Bkm_” para evitar conflitos de nomenclatura com marcadores existentes.

ADVERTISEMENT