Here is the script file I use.

VB Code:
  1. <!--
  2. +---------------------------------------------------------------------------+
  3.  
  4.     Function:    Spell Checker
  5.     Description: This script uses Microsoft Word to check the spelling in
  6.                  posts. Word is assumed to be present.
  7.  
  8. +---------------------------------------------------------------------------+
  9. -->
  10.  
  11. <SCRIPT LANGUAGE = "VBScript">  
  12.    
  13. Dim objWord
  14. Dim objDoc
  15. Dim objWindow
  16. Dim objSource
  17. Dim objSelect
  18. Dim objSelectRange
  19. Dim strResult
  20.  
  21. Set objWindow = window.external.menuArguments
  22. Set objSource = objWindow.event.srcElement
  23. Set oDocument = objWindow.document
  24. Set objSelect = oDocument.selection
  25. Set objSelectRange = objSelect.createRange()
  26. 'Create a new instance of word Application
  27. Set objWord = CreateObject("word.Application")
  28. 'new
  29. 'Dim dlg
  30. 'Set dlg = objWord.Dialogs
  31.  
  32. If objSource.tagName = "TEXTAREA" Then
  33.     select case objWord.version
  34.         'Office 2000
  35.         case "9.0"
  36.             with objWord
  37.                 .WindowState = 2
  38.                 .Visible = True
  39.             end with
  40.             Set objDoc= objWord.Documents.Add( , ,1, True)
  41.         'Office XP
  42.         case "10.0"
  43.             with objWord
  44.                 .windowstate = 2
  45.                 .Visible = False
  46.             end with
  47.             Set objDoc= objWord.Documents.Add( , ,1, True)
  48.             with objWord
  49.                 .windowstate =2
  50.                 .Visible = True
  51.             end with
  52.         'Office 97
  53.         case else ' Office 97
  54.             Set objDoc= objWord.Documents.Add
  55.     end select
  56.  
  57.  
  58.         objDoc.Content=objSelectRange.text
  59.         objDoc.CheckSpelling
  60. 'dlg(828).Show(0)
  61.     strResult = left(objDoc.Content, len(objDoc.Content) - 1)
  62.  
  63.     ' This part may not work if you don't use IE
  64.     If objSelectRange.text = strResult Then
  65.         ' There were no spelling errors, so give the user a
  66.         ' visual signal that something happened
  67.         window.alert("The spelling check is complete.")
  68.     End If
  69.  
  70.         ' Replace the selected text with the corrected text
  71.     objSelectRange.text = strResult
  72.  
  73.         'Clean up
  74.         objDoc.Close False
  75.         Set objDoc= Nothing
  76.         objWord.Application.Quit True
  77.         Set objWord= Nothing
  78. end if
  79.  
  80. </SCRIPT>