I've got a program that reads a comment field into a datareader. As it loops through the datareader, it calls a Word app to spellcheck each comment. The comment should be displayed in a textbox when the spell check runs, but nothing shows. I realize nothing will show when there's no corrections because the loop will run too fast to see it, but when it does stop to check, the text should show.
Also, sometimes the datareader (or maybe the spell checker) truncates the comment in the middle of a word, showing a misspelling where there is none. The code's below, thanks.

VB Code:
  1. Private Sub CheckSpell()
  2.         Dim strSql, strPath, strCn As String
  3.         Dim cn As OleDbConnection
  4.         Dim cmd As OleDbCommand
  5.         Dim dr As OleDbDataReader
  6.         Dim iData As IDataObject
  7.  
  8.         strSql = "SELECT DISTINCT comment FROM Main WHERE month = '" & cboMonth.SelectedItem & "'"
  9.         strPath = strRelPath & mstrFilePath
  10.         strCn = strProv & strPath
  11.  
  12.         Try
  13.             objTempDoc = objWord.Documents.Add
  14.             objWord.Visible = False
  15.  
  16.             ' Position Word off the screen...this keeps Word invisible throughout.
  17.             objWord.WindowState = 0
  18.             objWord.Top = -3000
  19.  
  20.             cn = New OleDbConnection(strCn)
  21.             cmd = New OleDbCommand(strSql, cn)
  22.             cn.Open()
  23.             dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
  24.  
  25.             Do While dr.Read
  26.                 txtSpell.Clear()
  27.                 txtSpell.Text = dr("Comment")
  28.                 'SpellCheck(txtSpell.Text)' Copy the contents of the textbox to the clipboard
  29.                 Clipboard.SetDataObject(txtSpell.Text)
  30.  
  31.                 ' With the temporary document, perform either a spell check or a complete
  32.                 ' grammar check, based on user selection.
  33.                 With objTempDoc
  34.                     .Content.Paste()
  35.                     .Activate()
  36.                     .CheckSpelling()
  37.                     ' After user has made changes, use the clipboard to
  38.                     ' transfer the contents back to the text box
  39.                     .Content.Copy()
  40.                     iData = Clipboard.GetDataObject
  41.                     If iData.GetDataPresent(DataFormats.Text) Then
  42.                         txtSpell.Text = CType(iData.GetData(DataFormats.Text), String)
  43.                     End If
  44.                     .Saved = True
  45.                     '.Close()
  46.                 End With
  47.             Loop
  48.  
  49.             objTempDoc.Close()
  50.             objWord.Quit()
  51.             dr.Close()
  52.  
  53.         Catch ex As Exception
  54.             MessageBox.Show(ex.Message, "Error Spell Checking", MessageBoxButtons.OK, MessageBoxIcon.Error)
  55.         Finally
  56.             If cn.State = ConnectionState.Open Then
  57.                 cn.Close()
  58.             End If
  59.         End Try
  60.     End Sub