View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Spell Check Within a UserForm?

Vic Eldridge:
ActiveX textboxes don't appear to have a spellchecking method, but the
Range object does, so I think you'll need to copy the text to a range first.
The following worked OK for me, with the code placed in Userform1's module.

Private Sub CommandButton1_Click()
Range("A1") = UserForm1.TextBox1.Text
Range("A1").CheckSpelling _
CustomDictionary:="CUSTOM.DIC", _
IgnoreUppercase:=False, _
AlwaysSuggest:=True, _
SpellLang:=3081
Range("A1").ClearContents
AppActivate ("Userform1")
End Sub


If you don't like the idea of copying the text to the worksheet first,
you can use the Application.CheckSpelling syntax to spellcheck
each word, one at a time. This technique will not display the built-in
spellcheck dialog box and it also requires that you extract each
individual word out of the textbox's text.
If your textbox contains only one word, the following would work OK.

If Application.CheckSpelling _
(UserForm1.TextBox1.Text, _
"Custom.dic", True) = False Then _
MsgBox "The word was spelled incorrectly."


The second syntax will work OK when the textbox contains multiple words.
If however, you want to identify which word was incorrectly spelled, you
will
need to run Application.CheckSpelling on each individual word.

--
Regards,
Tom Ogilvy

"jennie" wrote in message
...

Can anyone help at all - even suggestions to point me in the right
direction would be useful

Thanks
Jennie


--
jennie
------------------------------------------------------------------------
jennie's Profile:

http://www.excelforum.com/member.php...fo&userid=6706
View this thread: http://www.excelforum.com/showthread...hreadid=263748