travisowens
Well-known member
Whats the best solution for a free Spell Checker in my WinForms? Ive seen the commercial ones but they cost around $300 for a single coder license. Requiring MS Office is perfectly fine as Im coding an internal company app and every user will have Office 2003. (Im coding in C# and will have no problem porting any VB solutions to C#)
The only free one Ive come across is at http://www.devx.com/tips/Tip/13488 but I was wondering if there was a better/more efficient way. The solution at that URL is...
Integrate Microsoft Word 97s spellchecking capability into VB apps while maintaining formatting within a rich textbox. To test this code:
1. Create a standard EXE project in VB.
2. Add the RichTextBox control from the Components menu.
3. Add a reference to the Microsoft Word 8.0 Object Library.
4. Drop a RichTextBox and a CommandButton onto the form.
5. Rename the RichTextBox to rtfText.
6. Change the caption of the CommandButton to Spell Check.
7. In the Click event of the CommandButton, add the next code listing.
8. Save and run the project.
9. Type some text in the RTF box and click on the CommandButton to check the spelling.
On Error GoTo SpellCheckErr
Dim oWord As Object
Set oWord = CreateObject("Word.Application")
Save the RTF Box contents to a temporary file
rtfText.SaveFile "C:\TEST.RTF", rtfRTF
Open the saved document and spellcheck it
oWord.Documents.Open ("C:\TEST.RTF")
oWord.ActiveDocument.SpellingChecked = False
oWord.Options.IgnoreUppercase = False
oWord.ActiveDocument.CheckSpelling
Save the changes to the RTF file & close
oWord.ActiveDocument.Save
oWord.ActiveDocument.Close
oWord.Quit
Load the changes back to the rtf text box.
rtfText.LoadFile "C:\TEST.RTF", rtfRTF
Set oWord = Nothing
Screen.MousePointer = vbDefault
MsgBox "Spell Check is complete", _
vbInformation, "Spell Check"
Exit Sub
SpellCheckErr:
MsgBox Err.Description, vbCritical, _
"Spell Check"
Set oWord = Nothing
// Rohit Kapoor
The only free one Ive come across is at http://www.devx.com/tips/Tip/13488 but I was wondering if there was a better/more efficient way. The solution at that URL is...
Integrate Microsoft Word 97s spellchecking capability into VB apps while maintaining formatting within a rich textbox. To test this code:
1. Create a standard EXE project in VB.
2. Add the RichTextBox control from the Components menu.
3. Add a reference to the Microsoft Word 8.0 Object Library.
4. Drop a RichTextBox and a CommandButton onto the form.
5. Rename the RichTextBox to rtfText.
6. Change the caption of the CommandButton to Spell Check.
7. In the Click event of the CommandButton, add the next code listing.
8. Save and run the project.
9. Type some text in the RTF box and click on the CommandButton to check the spelling.
On Error GoTo SpellCheckErr
Dim oWord As Object
Set oWord = CreateObject("Word.Application")
Save the RTF Box contents to a temporary file
rtfText.SaveFile "C:\TEST.RTF", rtfRTF
Open the saved document and spellcheck it
oWord.Documents.Open ("C:\TEST.RTF")
oWord.ActiveDocument.SpellingChecked = False
oWord.Options.IgnoreUppercase = False
oWord.ActiveDocument.CheckSpelling
Save the changes to the RTF file & close
oWord.ActiveDocument.Save
oWord.ActiveDocument.Close
oWord.Quit
Load the changes back to the rtf text box.
rtfText.LoadFile "C:\TEST.RTF", rtfRTF
Set oWord = Nothing
Screen.MousePointer = vbDefault
MsgBox "Spell Check is complete", _
vbInformation, "Spell Check"
Exit Sub
SpellCheckErr:
MsgBox Err.Description, vbCritical, _
"Spell Check"
Set oWord = Nothing
// Rohit Kapoor