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.
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
- Abrir o painel Estilos
Pressione Ctrl+Alt+Shift+S para abrir o painel Estilos. Clique no botão Novo Estilo no canto inferior esquerdo. - 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. - 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
- Mostrar a guia Desenvolvedor
Vá em Arquivo > Opções > Personalizar Faixa de Opções. Em Guias Principais, marque Desenvolvedor. Clique em OK. - Abrir o editor VBA
Na guia Desenvolvedor, clique em Visual Basic. Alternativamente, pressione Alt+F11.
Passo 3: Escrever a macro para inserir um marcador
- 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. - 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. - 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
- Abrir o objeto Document
No editor VBA, clique duas vezes em “ThisDocument” sob seu projeto no Explorador de Projetos. - 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, usePrivate Sub Document_New(). - Salvar e fechar o editor VBA
Pressione Ctrl+S e feche o editor.
Passo 5: Testar o estilo de marcador automático
- 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. - 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).
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.