Læsbarhedsindex (LIX) word 2013

Hej alle.

Jeg har et problem mht. Læsbarhedsindex (LIX) i mit word 2013.


i det gamle word 2011 var LIX en standart boks når man udførte statistik for læsbarhed (se billede)

Her kan i se LIX tallet.

Desværre er det ikke længere mulig at se dette i word 2013, eller dvs. jeg kan ihvertfald ikke kan finde ud af at få det frem.

Håber der er nogle derude der kan hjælpe?

Mvh.

Mikkel

Svar
Svar

Nej. Noget er tilsyneladende gået helt galt for konstruktørerne til Word 2013, hvad angår målinger af teksters læsbarhed. Den nordiske LIX-tal beregning helt tilbage fra Word 2007, der bygger på antal ord + antal svære ord (over 6 bogstaver), er helt væk nu. Og den engelske Flesch-Kincaid Reading Ease, der bygger på antal ord + gennemsnit af stavelser i ord, skal man selv beregne ud fra den nuværende stavekontrols "Statistik", i øvrigt uden angivelse af nogen formel at beregne resultatet efter.

Da jeg som skribent selv tit har brug for at tjekke læsbarheden af mine tekster, alt afhængig af de forskellige målgruppers gennemsnitlige læsekundskaber jeg henvender mig til, har jeg derfor selv i al hast måtte programmere en makro til Word 2013, der når som helst øjeblikkelig kan give mig LIX-tallet til et givet udkast.

Jeg vedlægger her LIX-programmet, skrevet i Visual-Basic. Enhver må frit tage en kopi af det og lægge det ind i Word 2013 som en makro til eget brug. Jeg har markeret programmet med copyright, da jeg vil forbeholde mig at kunne sagsøge evt. brugere, som måtte kunne finde på at ville tjene penge el.lign. på min ophavsret til de creationer, jeg selv er forfatter til.

Sub LIX()               ' © Jørn Dalmer, 2013
Standardbogside = 400
Dim Hyppighed(200) As Integer       'Der forventes ingen sætningslængder over 200 ord
If Selection.Type = wdSelectionNormal Then      'Beregning af markerede udsnit af teksten
  Selection.Copy
  Documents.Add.Content.Paste
  markering = 1
End If
For FalskeSætninger = 1 To 6                  'Teksten renses for falske sætninger
    With Selection.Find
        .Text = " ^p"
        .Replacement.Text = "^p"
        .Text = "  "
        .Replacement.Text = " "
        .Forward = True
        .Wrap = wdFindContinue
        .Execute Replace:=wdReplaceAll
    End With
Next FalskeSætninger
'NB! - Antal sætninger er ikke overalt korrigeret for ordforkortelser (= upræcis SD)
TotalOrdAntal = ActiveDocument.ComputeStatistics(statistic:=wdStatisticWords)
TotalAntalSætn = ActiveDocument.Sentences.Count
For SætnNr = 1 To TotalAntalSætn    'Beregning af de enkelte sætningslængder ved antal ord
    OrdAntal = ActiveDocument.Sentences(SætnNr).ComputeStatistics(wdStatisticWords)
    Hyppighed(OrdAntal) = Hyppighed(OrdAntal) + 1   'Sætningslængder indlæst i indexeret variabel
        If HøjesteOrdAntal < OrdAntal Then
            HøjesteOrdAntal = OrdAntal              'Længste sætning + sætnings-Nr. bestemmes
            Sætningsnummer = SætnNr
        End If
    sumOrdAntal = sumOrdAntal + OrdAntal            'Til beregning af standardafv. (SD)
    sumOrdAntal2 = sumOrdAntal2 + OrdAntal ^ 2
Next SætnNr
forkortelser = "0"
For Each sætning In ActiveDocument.Sentences    'Korrektion for alle ordforkortelser
    If sætning.Words(1).Characters(1).Case = wdLowerCase Then forkortelser = forkortelser + 1
Next sætning
If TotalAntalSætn > Sætningsnummer Then         'Korrektion af længste sætning hvis ordforkortelser
    If ActiveDocument.Sentences(Sætningsnummer).Words(1).Characters(1).Case = wdLowerCase Then
        ExtraOrdAntalTilVenstre = ActiveDocument.Sentences(Sætningsnummer - 1).ComputeStatistics(wdStatisticWords)
        HøjesteOrdAntal = HøjesteOrdAntal + ExtraOrdAntalTilVenstre
    End If
    If ActiveDocument.Sentences(Sætningsnummer + 1).Words(1).Characters(1).Case = wdLowerCase Then
        ExtraOrdAntalTilHøjre = ActiveDocument.Sentences(Sætningsnummer + 1).ComputeStatistics(wdStatisticWords)
        HøjesteOrdAntal = HøjesteOrdAntal + ExtraOrdAntalTilHøjre
    End If
End If
SD = Sqr((TotalAntalSætn * sumOrdAntal2 - sumOrdAntal ^ 2) / TotalAntalSætn ^ 2)    'SD-formel
SD = Int(SD * 10 + 0.5) / 10                      'SD med 1 decimal
For Each ord In ActiveDocument.Words        'Beregning af antal lange ord over 6 bogstaver
    If Len(Trim(ord)) > 6 Then Langeord = Langeord + 1
Next ord

For Each tankestregsøgning In ActiveDocument.Words                    'Tæller sætninger med, der begynder med tankestreg, efterfulgt af lille beg.bogstav (desværre også med stort bogstav.
  If LTrim(tankestregsøgning) = "- " Then tankestreg = tankestreg + 1
Next tankestregsøgning
TotalAntalSætn = TotalAntalSætn + tankestreg

KorrTotalAntalSætn = TotalAntalSætn - forkortelser 'Korr. kun til LIX-beregning, ikke til SD
SætningsLængde = Int(TotalOrdAntal / KorrTotalAntalSætn * 10 + 0.5) / 10  'Beregning af LIX
ProcentLangeOrd = Int(Langeord / TotalOrdAntal * 100 + 0.5)
LIXtal = Int(SætningsLængde + ProcentLangeOrd + 0.5)
Standardsider = Int(TotalOrdAntal / Standardbogside * 10 + 0.5) / 10
Trykknap = MsgBox("                           LIX   =   " & LIXtal & Chr$(13) & Chr$(13) & "           Meningslængden  = " & SætningsLængde & " ord" & Chr$(13) & "                      Lange ord  = " & ProcentLangeOrd & "%" & Chr$(13) & "Sætn.nr. " & Sætningsnummer & " = længste sætning på " & HøjesteOrdAntal & " ord" & Chr$(13) & "                      Spredning = " & SD & Chr$(13) & "                             _________" & Chr$(13) & Chr$(13) & "                  Antal ord i alt = " & TotalOrdAntal & Chr$(13) & "             Antal sætninger i alt = " & KorrTotalAntalSætn & Chr$(13) & "         Antal ordforkortelser i alt = " & forkortelser & Chr$(13) & "   Antal standardbogsider á " & Standardbogside & " ord = " & Standardsider & Chr$(13) & Chr$(13) & "                          (Se  LIX-tabel?)", vbYesNo + vbDefaultButton2, "           LÆSBARHEDS-INDEX")
If Trykknap = vbYes Then
MsgBox "          [ Aktuel teksts LIX-tal = " & LIXtal & " ]" & Chr$(13) & Chr$(13) & "           15 (11-19) =  1.-3. klassetrin" & Chr(13) & "           24 (21-27) =  3.-6. klassetrin" & Chr(13) & "           28 (25-31) =  6.-7. klassetrin" & Chr(13) & "           30 (27-33) = 7.-10. klassetrin" & Chr(13) & "                   _______________" & Chr(13) & Chr(13) & "18 = Tegneserier" & Chr(13) & "24 = BT & Extrabladet" & Chr(13) & "31 = Voksenskønlitteratur (20-45)" & Chr(13) & "36 = Ugeblade" & Chr(13) & "42 = Fleste aviser" & Chr(13) & "48 = Bl.a. Information og Politiken" & Chr(13) & "60 = Fagbøger & tidsskrifter (højt niveau)" & Chr(13) & "65 = Visse juridiske tekster, o.lign." & Chr(13) & "                   _______________" & Chr(13) & Chr(13) & "  [ Aktuel teksts sprednings-tal = S(" & SD & ") ]" & Chr(13) & Chr(13) & "     S(5-10) = ensartet, jævn og fast tekst." & Chr(13) & "     S(10-15) = normal, jævn tekst." & Chr(13) & "     S(15-20) = ujævn, springende tekst.", , "                   LIX-tabel"
End If

Trykknap = MsgBox("SE TABEL FOR HYPPIGHED AF SÆTNINGSLÆNGDER?" & Chr$(13) & Chr$(13) & "     - hvis Nej, markeres kun tekstens længste sætning.", vbYesNo + vbDefaultButton2, "                                TABEL")
If Sætningsnummer = TotalAntalSætn Then ActiveDocument.Sentences(Sætningsnummer).Select: GoTo SLUT
If Trykknap = vbNo Then                            'Markering af længste sætning og afslut
    If ActiveDocument.Sentences(Sætningsnummer).Words(1).Characters(1).Case = wdLowerCase Then
        ActiveDocument.Sentences(Sætningsnummer - 1).Select
        Selection.SetRange Start:=Selection.Start, End:=ActiveDocument.Sentences(Sætningsnummer).End
    ElseIf ActiveDocument.Sentences(Sætningsnummer + 1).Words(1).Characters(1).Case = wdLowerCase Then
        ActiveDocument.Sentences(Sætningsnummer).Select
        Selection.SetRange Start:=Selection.Start, End:=ActiveDocument.Sentences(Sætningsnummer + 1).End
    Else
        ActiveDocument.Sentences(Sætningsnummer).Select
    End If: GoTo SLUT
End If
Set NytPapir = Documents.Add            'Udskrivning i tabel
Set Tabel = NytPapir.Tables.Add(Selection.Range, HøjesteOrdAntal + 1, 2)
Tabel.Cell(1, 1).Range.InsertAfter "Sætningslængde i antal ord/tegn"
Tabel.Cell(1, 2).Range.InsertAfter "Hyppighed af sætningslængde"
For n = 2 To HøjesteOrdAntal + 1
    Tabel.Cell(n, 1).Range.InsertAfter n - 1
    Tabel.Cell(n, 2).Range.InsertAfter Hyppighed(n - 1)   'Indexeret variabel udlæses i tabel
Next n
With Selection      ' Formatering af tabel
    .Tables(1).Select
    .Columns.PreferredWidth = CentimetersToPoints(3.1)
    .ParagraphFormat.Alignment = wdAlignParagraphCenter
    .EndKey Unit:=wdStory
End With
    Selection.Tables(1).Columns(2).Select       'Tabeludskrift afbildet i diagram
    WordBasic.InsertChart
    Selection.ShapeRange.Height = 270#
    Selection.ShapeRange.Width = 405#
SLUT: If markering = 1 Then ActiveDocument.Close
End Sub

Mvh,

Jørn Dalmer

*** Mailadressen er fjernet af hensyn til beskyttelse af personlige oplysninger ***


6 personer syntes, at dette svar var nyttigt

·

Var dette svar nyttigt?

Vi er kede af, at dette ikke hjalp.

Godt! Tak for din feedback.

Hvor tilfreds er du med dette svar?

Tak for din feedback – den hjælper os med at forbedre webstedet.

Hvor tilfreds er du med dette svar?

Tak for din feedback.

Svar
Svar

Hej Mikkel,

Du kan prøve at tage et kig på denne artikel: http://office.microsoft.com/da-dk/word-help/test-your-document-s-readability-HP010354286.aspx

Den går igennem hvordan du kan slå læsbarheds indexet til.

Fortsat god dag!

6 personer syntes, at dette svar var nyttigt

·

Var dette svar nyttigt?

Vi er kede af, at dette ikke hjalp.

Godt! Tak for din feedback.

Hvor tilfreds er du med dette svar?

Tak for din feedback – den hjælper os med at forbedre webstedet.

Hvor tilfreds er du med dette svar?

Tak for din feedback.

 
 

Spørgsmålsinfo


Senest opdateret oktober 3, 2023 Visninger 5.177 Gælder for: