|  |  | 
              
              | 
                  | Title | Call Word to spell check from Visual Basic | 
|---|
 | Keywords | Office, Word, spell, spellcheck | 
|---|
 | Categories | Office | 
|---|
 |  | 
 |  | Create a Word.Basic object an invoke its methods. Use FileNew to create a new document, Insert to insert the text you want to check, ToolsSpelling to check the spelling, EditSelectAll to select all of the results, and FileExit to close the new document. |  | 
 |  
                | Private Sub Command1_Click()
Dim speller As Object
Dim txt As String
Dim new_txt As String
Dim pos As Integer
        
    On Error GoTo OpenError
    Set speller = CreateObject("Word.Basic")
    On Error GoTo 0
    
    speller.FileNew
    speller.Insert Text1.Text
    speller.ToolsSpelling
    speller.EditSelectAll
    txt = speller.Selection()
    speller.FileExit 2
    If Right$(txt, 1) = vbCr Then _
        txt = Left$(txt, Len(txt) - 1)
    new_txt = ""
    pos = InStr(txt, vbCr)
    Do While pos > 0
        new_txt = new_txt & Left$(txt, pos - 1) & vbCrLf
        txt = Right$(txt, Len(txt) - pos)
        pos = InStr(txt, vbCr)
    Loop
    new_txt = new_txt & txt
    
    Text1.Text = new_txt
    Exit Sub
    
OpenError:
    MsgBox "Error" & Str$(Error.Number) & _
        " opening Word." & vbCrLf & _
        Error.Description
End Sub |  | 
 |  | Note that this program uses late binding to create the Word.Basic object. To use early binding, declare the object as type Word.Application (requires a reference to the Word object library--use Project\References). This will give slightly better performance and will allow Intellisense to work on the object. |  |  |  |   |  |  |  |  |