Uma família de produtos de software de processamento de texto da Microsoft para criar documentos da Web, de email e para impressão.
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