Avatar billede Falentin Seniormester
09. november 2018 - 22:18 Der er 4 kommentarer og
1 løsning

Tælle ord over 7 tegn i worddokument

Hej

Jeg ønsker at få antal ord i en worddokument, der er over 7 tegn. hvordan gør jeg det i word?
Avatar billede Lene Fredborg Ekspert
10. november 2018 - 00:46 #1
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
Avatar billede finb Ekspert
10. november 2018 - 10:20 #2
Primitiv løsning:
1. Lav en kopi af dokumentet
2. Erstat alle Mellemrum, Komma, Punktum osv. med NyLinie (Afsnitstegn)
3. Kopier over i Excel
4. =Tæl.Hvis(LEN(A1)>7)
5. Træk formlen nedad
Avatar billede Falentin Seniormester
10. november 2018 - 10:56 #3
Det er så fornem Lene-fredborg, mange tak :-)
Avatar billede Lene Fredborg Ekspert
10. november 2018 - 11:28 #4
Velbekomme.
Jeg fik ikke skrevet direkte, at makroen IKKE ændrer noget i selve dokumentet. Den undersøger blot alle ordene.
Avatar billede Falentin Seniormester
10. november 2018 - 11:36 #5
Det er så fint :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester