Det kræver en makro at løse den opgave.
Det er ikke helt uproblematisk. Det umiddelbart oplagte er at bruge samlingen af Words i VBA (Visual Basic for Applications), men så tælles afsnitstegn, punktummer, kommaer osv. også som ord. Desuden vil et mellemrum efter et ord tælle med i antal tegn i ordet. Derfor skal der forskellige krumspring til for at finde et OK resultat.
Jeg har lavet nedenstående makro, som du kan bruge til at bygge videre på, hvis den ikke er nøjagtig nok, som den er. Den undersøger kun ord i hoveddokumentet – dvs. at tekstbokse, sidehoved, sidefod, fodnoter osv. ikke bliver medregnet.
Hvis du har brug for hjælp til at installere en makro:
https://www.thedoctools.com/word-macros-tips/general/how-to-install-a-macro/ MAKROEN:
Sub CountWordsWithMin7Chars()
Dim oWord As Range
Dim lngCount As Long
lngCount = 0
'iterate through words in main text story
For Each oWord In ActiveDocument.Words
'check length of Word - since Word includes trailing space in a word, exclude the space
If Len(Trim(oWord)) > 7 Then
'Trim does not remove non-breaking space, chr(160) - check for that
If Len(oWord) = 8 And Right(oWord, 1) = Chr(160) Then
GoTo SkipWord
End If
'add to count
lngCount = lngCount + 1
End If
SkipWord:
Next oWord
'show msg with count
MsgBox "Dokumentet indeholder " & ActiveDocument.ComputeStatistics(wdStatisticWords) & " ord." & vbCr & _
lngCount & " ord indeholder mere end 7 tegn.", vbOKOnly, "Tæl ord med mere end 7 tegn"
End Sub