Como gerar glossário no Word a partir de entradas de índice automaticamente
🔍 WiseChecker

Como gerar glossário no Word a partir de entradas de índice automaticamente

Você tem um documento do Word com muitas entradas de índice marcadas e agora precisa de um glossário que liste esses termos com suas definições ou explicações. Copiar manualmente cada entrada de índice para uma tabela separada é demorado e sujeito a erros. O Word não possui um comando nativo para converter entradas de índice em glossário, mas você pode automatizar o processo usando uma macro e algumas etapas inteligentes. Este artigo explica a diferença entre índice e glossário, como extrair entradas de índice usando uma macro VBA e como formatar a saída em uma tabela de glossário limpa.

Principais conclusões: Automatizando a geração de glossário a partir de entradas de índice

  • Alt+F11 para abrir o editor VBA e depois Insert > Module: O ponto de partida para executar a macro que extrai o texto das entradas de índice.
  • Código da macro Sub ExtractIndexEntries(): Percorre todos os campos XE no documento e copia o texto da entrada para um novo documento.
  • Localizar e substituir com ^& curinga: Remove os caracteres extras, como aspas e dois-pontos, que a macro deixa para trás.

ADVERTISEMENT

Índice vs Glossário: O que cada recurso faz

Um índice no Word é uma lista de termos com números de página que apontam para onde cada termo aparece no documento. Você marca entradas de índice selecionando o texto e pressionando Alt+Shift+X, o que insere um campo XE (Entrada de Índice). O índice é compilado quando você insere um campo INDEX e o atualiza. Ele informa ao leitor onde encontrar um termo.

Um glossário é uma lista de termos com suas definições ou explicações. Não inclui números de página. O Word não possui um recurso nativo de glossário. Para criar um glossário, você deve construí-lo manualmente ou extraindo o texto do termo das entradas de índice e depois escrevendo ou colando as definições ao lado de cada termo.

O método automático descrito aqui funciona apenas se você já marcou entradas de índice com os termos que deseja no glossário. Se suas entradas de índice incluírem subentradas ou referências cruzadas, elas também aparecerão na lista extraída. Você precisará limpá-las após a extração.

Etapas para extrair entradas de índice e criar um glossário

Siga estas etapas para executar uma macro VBA que extrai todo o texto das entradas de índice do seu documento e o coloca em um novo documento. Após a extração, você formata a lista em uma tabela de glossário de duas colunas.

  1. Abra o Editor VBA
    Pressione Alt+F11 para abrir o editor Visual Basic for Applications. Na barra de menus, clique em Insert e depois em Module. Uma janela de código em branco aparece.
  2. Cole o código da macro
    Copie e cole a seguinte macro na janela do módulo:


    Sub ExtractIndexEntries()
       Dim doc As Document
       Dim newDoc As Document
       Dim fld As Field
       Dim entryText As String
       Dim outputText As String
       Set doc = ActiveDocument
       Set newDoc = Documents.Add
       For Each fld In doc.Fields
          If fld.Type = wdFieldIndexEntry Then
             entryText = fld.Code.Text
             ' Remove o prefixo XE e as chaves
             entryText = Replace(entryText, " XE ", "")
             entryText = Replace(entryText, "\"", "")
             outputText = outputText & entryText & vbCrLf
          End If
       Next fld
       newDoc.Range.Text = outputText
       MsgBox "Entradas de índice extraídas para novo documento."
    End Sub

    A macro percorre todos os campos no documento ativo. Quando encontra um campo XE, extrai o texto dentro do código do campo, remove o comando XE e as aspas, e escreve o resultado em um novo documento em branco.

  3. Execute a macro
    Pressione F5 enquanto o cursor estiver dentro do código da macro, ou clique na seta verde Executar na barra de ferramentas VBA. Uma caixa de mensagem confirma a extração. Um novo documento é aberto contendo uma entrada de índice por linha.
  4. Limpe o texto extraído
    No novo documento, você pode ver caracteres residuais, como dois-pontos, ponto e vírgula ou barras invertidas da formatação de subentrada. Pressione Ctrl+H para abrir Localizar e Substituir. Na caixa Localizar, digite ^& (o curinga para qualquer caractere) e deixe Substituir por vazio. Clique em Mais >> e marque Usar curingas. Clique em Substituir tudo para remover caracteres indesejados. Repita com padrões específicos como : ou ; se eles aparecerem.
  5. Remova entradas duplicadas
    Se um termo aparecer em várias entradas de índice, a lista conterá duplicatas. Selecione todo o texto no novo documento pressionando Ctrl+A. Na guia Página Inicial, clique em Classificar no grupo Parágrafo. Escolha Parágrafos e Texto, depois clique em OK. Com a lista classificada selecionada, vá para a guia Página Inicial, clique em Substituir no grupo Edição. Na caixa Localizar, digite ^&^13 (qualquer caractere seguido de uma marca de parágrafo). Na caixa Substituir por, digite ^&. Clique em Mais >> e marque Usar curingas. Clique em Substituir tudo repetidamente até que o número de substituições seja zero. Isso remove linhas idênticas à linha acima.
  6. Converta a lista em uma tabela de glossário
    Selecione todo o texto limpo. Na guia Inserir, clique em Tabela e escolha Converter Texto em Tabela. Na caixa de diálogo, defina Número de colunas como 2. Para Separar texto em, escolha Parágrafos e Outro, depois digite dois-pontos : se suas entradas contiverem dois-pontos separando o termo da definição. Se suas entradas forem apenas termos sem definições, defina Número de colunas como 1. Clique em OK. O Word cria uma tabela com os termos extraídos na coluna esquerda. Você pode então adicionar definições na coluna direita.

ADVERTISEMENT

Problemas comuns e limitações ao extrair entradas de índice

A macro retorna linhas vazias ou texto confuso

Isso acontece quando o código do campo XE contém formatação de subentrada ou referências cruzadas. A macro remove aspas, mas pode deixar barras invertidas e chaves extras. Use Localizar e Substituir com curingas para remover padrões como \: ou \t. Alternativamente, modifique a macro para remover todos os caracteres após um dois-pontos adicionando uma linha que divide o entryText no dois-pontos e mantém apenas a primeira parte.

Entradas duplicadas aparecem após a extração

Se o mesmo termo for marcado como entrada de índice em várias páginas, a macro o extrai várias vezes. O método de remoção de duplicatas descrito na etapa 5 funciona para duplicatas exatas. Para duplicatas próximas com pequenas variações na ortografia ou pontuação, revise manualmente a lista antes de converter em tabela.

O glossário não inclui definições

As entradas de índice no Word armazenam apenas o texto do termo e o texto opcional da subentrada. Elas não armazenam definições. Após extrair os termos, você deve adicionar manualmente as definições na coluna direita da tabela. Para acelerar isso, use uma segunda macro que abre um dicionário ou um documento de referência e pesquisa cada termo, mas isso requer codificação personalizada além do escopo deste artigo.

Extração de entradas de índice vs Criação manual de glossário: Principais diferenças

Item Método de extração por macro Criação manual de glossário
Tempo necessário Menos de 5 minutos para configuração e execução 30 minutos ou mais, dependendo do tamanho do documento
Precisão da lista de termos Corresponde exatamente a cada entrada de índice marcada Propensa a erros de digitação e termos perdidos
Tratamento de duplicatas Requer etapa adicional de limpeza Você controla a duplicação enquanto digita
Necessidade de definições Apenas termos; definições devem ser adicionadas manualmente Você escreve as definições conforme avança
Requer conhecimento de VBA Copiar, colar e executar básico Nenhum

O método de extração por macro economiza tempo quando você tem um grande número de entradas de índice. Ele não elimina a necessidade de escrever definições, mas fornece uma lista completa e precisa de termos para trabalhar.

Depois de ter a tabela de glossário, você pode classificá-la em ordem alfabética selecionando toda a tabela e clicando em Classificar na guia Página Inicial. Escolha Coluna 1 e Texto. Isso garante que seu glossário esteja na ordem padrão de A a Z.

Para salvar a macro para documentos futuros, abra o editor VBA, localize o projeto Normal no Explorer de Projetos, clique duas vezes em ThisDocument e cole a macro lá. Ela estará disponível em todos os documentos. Você também pode atribuir a macro a um atalho de teclado indo em Arquivo > Opções > Personalizar Faixa de Opções > Atalhos do teclado > Personalizar, selecionando Macros e escolhendo Normal.NewMacros.ExtractIndexEntries.

ADVERTISEMENT