How To Automate Word From Visual Basic or Visual Basic for Applications For Spell Checking
Word's Automation model contains a CheckSpelling function that lets you check the spelling of a document hosted in Word. By using Word Automation, developers can dynamically create a new document, add some text they want to check, and then have Word check the spelling. This article shows you how to automate Word to provide this functionality.
You can use this code sample from either Microsoft Visual Basic or Microsoft Visual Basic for Applications without any changes. However, the sample assumes that you are using a Visual Basic client to create a new project.
Creating a Spell Check Client
Start Visual Basic and create a new Standard EXE project. Form1 is created by default.
Add a TextBox control and CommandButton to Form1.
In the code window for Form1, add the following code:
Private Sub Command1_Click()
Dim oWord As Object
Dim oTmpDoc As Object
Dim lOrigTop As Long
' Create a Word document object...
Set oWord = CreateObject("Word.Application")
Set oTmpDoc = oWord.Documents.Add
oWord.Visible = True
' Position Word off screen to avoid having document visible...
lOrigTop = oWord.Top
oWord.WindowState = 0
oWord.Top = -3000
' copy the contents of the text box to the clipboard
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
' Assign the text to the document and check spelling...
' After user has made changes, use the clipboard to
' transfer the contents back to the text box
Text1.Text = Clipboard.GetText(vbCFText)
' Close the document and exit Word...
.Saved = True
Set oTmpDoc = Nothing
oWord.Top = lOrigTop
Set oWord = Nothing
Compile and run the program. Press the Command1 command button to run the spell check. Word's spell check dialog box appears to confirm the spelling of the words "mispelled", "textt", "receive", and "resultes". After you correct the misspelled words, the text is returned to the text box.
Download for FREE the ADO/DAO Data Controls that makes life EASIER developing database applications in: VB, FoxPro, Access, VC++, .NET etc... Navigate, Add New, Delete, Update, Search, Undo and Save your changes. Supports Disconnected Recordsets and Transactions!
Or try our Ask An Expert service to answer any of your questions!