Sorry, getting confused in my old age, anyway the problem with that is it automatically checks the whole form which I don't want, as the form in question is huge.
Currently I spell check like so.

VB Code:
  1. Public Function Spellcheck(TextStr As String) As String
  2.  
  3.      Set WordApp = CreateObject("Word.Application")
  4.      WordApp.Documents.Add
  5.      Dim wordrange As Word.Range
  6.      Set wordrange = WordApp.ActiveDocument.Range(0, 0)
  7.      wordrange.Text = TextStr
  8.      WordApp.Visible = True
  9.      WordApp.Activate
  10.      wordrange.CheckSpelling , , True
  11.      wordrange.CheckGrammar
  12.      Spellcheck = wordrange.Text
  13.      wordrange.Text = ""
  14.      WordApp.Documents.Close (False)
  15.      WordApp.Quit
  16.      Set WordApp = Nothing
  17. End Function

But this has odd glitches which I was hoping your code would sort out.