F
FotoArt
Hello everyone
Im trying to count the number of words in a document.
And the code below (taken off a web page somewhere)does a fine job showing
the result live, as long as I use it for english language text and perhaps
many others.
Unfortunately i use a different language module (Asian).
the problem occurs with the "readabilitystatistics" and I find that in my
document that function of Word is dimmed.
Could someone help me to incorporate a line of code to the following that
would calculate the number of words without using
"readabilityStatistics(1).value".
Sub AutoExec()
NumberOfWords
End Sub
Sub NumberOfWords()
Dim lngWords As Long
Dim myRange As Range
With Word.Application
If .Windows.Count > 0 Then
Set myRange = ActiveDocument.Content
lngWords = myRange.ReadabilityStatistics(1).Value
.Caption = Format(lngWords, "##,##0") & " words - Microsoft Word"
Else
.Caption = "Microsoft Word"
End If
.OnTime Now + TimeValue(OnTm(lngWords)), "NumberOfWords"
End With
End Sub
Private Function OnTm(ByVal lngWd As Long) As String
Select Case lngWd \ 1000
Case 0 To 10
OnTm = "00:00:01"
Case 11 To 20
OnTm = "00:00:05"
Case 21 To 30
OnTm = "00:00:10"
Case 31 To 40
OnTm = "00:00:15"
Case Else
OnTm = "00:00:20"
End Select
End Function
Im trying to count the number of words in a document.
And the code below (taken off a web page somewhere)does a fine job showing
the result live, as long as I use it for english language text and perhaps
many others.
Unfortunately i use a different language module (Asian).
the problem occurs with the "readabilitystatistics" and I find that in my
document that function of Word is dimmed.
Could someone help me to incorporate a line of code to the following that
would calculate the number of words without using
"readabilityStatistics(1).value".
Sub AutoExec()
NumberOfWords
End Sub
Sub NumberOfWords()
Dim lngWords As Long
Dim myRange As Range
With Word.Application
If .Windows.Count > 0 Then
Set myRange = ActiveDocument.Content
lngWords = myRange.ReadabilityStatistics(1).Value
.Caption = Format(lngWords, "##,##0") & " words - Microsoft Word"
Else
.Caption = "Microsoft Word"
End If
.OnTime Now + TimeValue(OnTm(lngWords)), "NumberOfWords"
End With
End Sub
Private Function OnTm(ByVal lngWd As Long) As String
Select Case lngWd \ 1000
Case 0 To 10
OnTm = "00:00:01"
Case 11 To 20
OnTm = "00:00:05"
Case 21 To 30
OnTm = "00:00:10"
Case 31 To 40
OnTm = "00:00:15"
Case Else
OnTm = "00:00:20"
End Select
End Function