Using Microsoft Word Spell Check

The following code shows a function for checking the number of spelling and grammar errors in a string.

Function NumberOfSpellErrors(strText)

       Dim objMsWord

       Set objMsWord = CreateObject("Word.Application")

       objMsWord.WordBasic.FileNew

       objMsWord.WordBasic.Insert strText

       NumberOfSpellErrors = objMsWord.ActiveDocument.SpellingErrors.Count

       objMsWord.Documents.Close (False)

       objMsWord.Quit ' close the application

       Set objMsWord = Nothing' Clear object memory

End Function

' The following function uses the Spell errors function to check a specific property

' of all the objects with a given description which are under a given parent

Sub CheckAllObjects(ParentObj, ObjDesc, PropName)

       Dim ObjCol, idx, PropValue, OldReportMode

       OldReportMode = Reporter.Filter

       Reporter.Filter = 2 ' Report only errors

       If (IsNull(ParentObj)) Then

              Set ObjCol = Desktop.ChildObjects(ObjDesc)

       Else

              Set ObjCol = ParentObj.ChildObjects(ObjDesc)

       End If

       For idx=0 to ObjCol.count-1

              PropValue = ObjCol.Item(idx).GetROProperty(PropName)

              RetVal = NumberOfSpellErrors(PropValue) ' The actual spell check result

              If (RetVal > 0) Then

                     ReportText = "Object #" & idx+1 & ": The '" & PropName & "' Property has " & RetVal & " spell errors (" & PropValue & ")"

                     Reporter.ReportEvent 1, "Spell Check", ReportText

              End If

       Next

       Reporter.Filter = OldReportMode

End Sub

'''''''''''''''''''''''''''''''''''''

' An example of usage:

' Go over all the static objects in the Login window of the Flight Application

' and for each object check the text for spelling and grammatical errors

'''''''''''''''''''''''''''''''''''''

' Go over all the links in the page and report all the ones that fail the spellcheck

Set Desc = Description.Create()

Desc("nativeclass").Value = "Static"

Set Obj = Dialog("nativeclass:=#32770", "text:=Login")

' Invoke the Flight Application before calling the function

CheckAllObjects Obj, Desc, "text"

 

1 comment:

Alex said...

Whole my doc files are stored on the PC. There are different risks for its. And some days ago I opened my folder with files and couldn't see anything. I was upset and decided to enter the Google. Luckily for me I was right and in some hours found - encoded word document. This system recovered my files and I noticed that it was free of cost. This fact was glad and I counselled it some of my friends... Besides I knew how the tool extracted the contents of damaged Microsoft Word files after virtually any issue.