Compartilhar via

Como contar as palavras do corpo do texto (texto principal), mas sem considerar títulos, subtítulos e legendas de imagens?

Anônima
2024-10-17T11:39:08+00:00

Olá pessoal. Preciso medir o tamanho dos meus textos, porém, ao selecionar o corpo do texto, naturalmente sou obrigado a selecionar títulos, subtítulos, legendas de imagens. Isso faz com que eu não consiga saber ao certo o tamanho do meu conteúdo.

Já pedi ajuda por aqui e um bom moço criou uma macro para resolver isso. Entretanto, embora muito ágil e fácil, ela tem trazido resultados superiores ao número de palavras que realmente existem no texto.

Microsoft 365 e Office | Word | Para Educação | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

  1. Anônima
    2024-10-17T14:24:33+00:00

    Esta resposta foi traduzida automaticamente. Como resultado, pode haver erros gramaticais ou palavras estranhas.

    Olá Lucas,

    Obrigado por postar na comunidade. Estamos felizes em ajudá-lo.

    De acordo com sua descrição, é melhor usar o Office VBA (macro) para atender às suas necessidades. Como nossa equipe se concentra nos recursos internos do Word, temos um canal específico do Stack Overflow para lidar com problemas relacionados ao Office VBA (consulte este artigo: Suporte e comentários do Office VBA | Microsoft Docs), você pode postar um novo tópico (usando a marca VBA) lá para obter ajuda especializada.

    Ao mesmo tempo, com base no meu teste, sugiro que você tente a seguinte macro (pressione F5 para executar a macro no Editor). Essa macro atualizada verifica especificamente os estilos e exclui Título 1, Título 2, Título 3 e Legenda da contagem de palavras do corpo do texto. Veja se funciona bem do seu lado. Se a macro abaixo não funcionar conforme o esperado, recomendo que você poste um novo tópico na Comunidade do Stack Overflow para obter mais ajuda.

    Sub CountBodyTextWords()
        Dim doc As Document
        Dim para As Paragraph
        Dim wordCount As Long
        Dim captionWords As Long
        Dim titleWords As Long
        Dim tocWords As Long
    
        Set doc = ActiveDocument
        wordCount = 0
        captionWords = 0
        titleWords = 0
        tocWords = 0
    
        ' Loop through all paragraphs in the document
        For Each para In doc.Paragraphs
            ' Check if the paragraph is part of the TOC
            If para.Range.Fields.Count > 0 Then
                If para.Range.Fields(1).Type = wdFieldTOCEntry Then
                    tocWords = tocWords + para.Range.ComputeStatistics(wdStatisticWords)
                End If
            ' Check if the paragraph style is not a title, subtitle, or caption
            ElseIf para.Style <> doc.Styles(wdStyleHeading1) And _
                   para.Style <> doc.Styles(wdStyleHeading2) And _
                   para.Style <> doc.Styles(wdStyleHeading3) And _
                   para.Style <> doc.Styles(wdStyleCaption) Then
                wordCount = wordCount + para.Range.ComputeStatistics(wdStatisticWords)
            ElseIf para.Style = doc.Styles(wdStyleCaption) Then
                captionWords = captionWords + para.Range.ComputeStatistics(wdStatisticWords)
            ElseIf para.Style = doc.Styles(wdStyleHeading1) Or _
                   para.Style = doc.Styles(wdStyleHeading2) Or _
                   para.Style = doc.Styles(wdStyleHeading3) Then
                titleWords = titleWords + para.Range.ComputeStatistics(wdStatisticWords)
            End If
        Next para
    
        ' Display the word count
        MsgBox "Body text word count: " & wordCount & vbCrLf & _
               "Title and subtitle word count: " & titleWords & vbCrLf & _
               "Caption word count: " & captionWords & vbCrLf & _
               "TOC word count: " & tocWords
    End Sub
    

    Obrigado por sua cooperação e compreensão!

    Sinceramente

    Jorge - Brasil | Moderador da Comunidade Microsoft

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários

2 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2024-10-19T17:50:09+00:00

    Esta resposta foi traduzida automaticamente. Como resultado, pode haver erros gramaticais ou palavras estranhas.

    Olá Lucas,

    Obrigado por postar de volta.

    Com base na captura de tela, isso não é causado pela macro. Parece que você pode pressionar acidentalmente Alt + F9 para mostrar / alternar todos os códigos de campo do Word. Observe que o Word usa campos para fazer com que os TOCs e os links incorporados funcionem. Eu sugiro que você pressione Alt + F9 ou Shift + F9 novamente para alternar o campo. Veja se o documento agora é exibido corretamente.

    Aguardamos sua resposta. Obrigado pela vossa cooperação.

    Sinceramente

    Jorge - Brasil | Moderador da Comunidade Microsoft

    0 comentários Sem comentários
  2. Anônima
    2024-10-17T15:00:06+00:00

    Boa tarde, amigo,

    Eu usei sua macro. A princípio pareceu funcionar, mas depois surgiu um problema no Word, que nem fechando e reinicializando resolveu. Alguns elementos do Word estão aparecendo em formato de códigos agora, como o sumário, número da página e hyperlinks.

    0 comentários Sem comentários