Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 154
Default CheckSpelling a Textbox

Form is shown via an addin. User enters data into a textbox. When they exit
the textbox this code runs:

Private Sub TbFaxMsg_Exit _
(ByVal Cancel As MSForms.ReturnBoolean)
With Workbooks("G&H Project.xla")
.Worksheets("Fax Template").Unprotect
.Worksheets("Fax Template").Range("B22").Value _
= Me.TbFaxMsg.Value
.Worksheets("FaxTemplate") _
.Range"B22").CheckSpelling
End With
With Me.TbFaxMsg
.Value = Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").Value
End With
End Sub

This seems to work, but can I suppress the message
suggesting checking all the sheet, please?

Regards.


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default CheckSpelling a Textbox

Vic Eldridge Previously said:
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


"Stuart" wrote in message
...
Form is shown via an addin. User enters data into a textbox. When they

exit
the textbox this code runs:

Private Sub TbFaxMsg_Exit _
(ByVal Cancel As MSForms.ReturnBoolean)
With Workbooks("G&H Project.xla")
.Worksheets("Fax Template").Unprotect
.Worksheets("Fax Template").Range("B22").Value _
= Me.TbFaxMsg.Value
.Worksheets("FaxTemplate") _
.Range"B22").CheckSpelling
End With
With Me.TbFaxMsg
.Value = Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").Value
End With
End Sub

This seems to work, but can I suppress the message
suggesting checking all the sheet, please?

Regards.




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 154
Default CheckSpelling a Textbox

I thought I was copying the textbox contents to a range
in one of the addin's sheets, and then running
Checkspelling on the contents of that range, before
transferring the revised data back to the textbox.

I missed something again?

Regards and thanks.

"Tom Ogilvy" wrote in message
...
Vic Eldridge Previously said:
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


"Stuart" wrote in message
...
Form is shown via an addin. User enters data into a textbox. When they

exit
the textbox this code runs:

Private Sub TbFaxMsg_Exit _
(ByVal Cancel As MSForms.ReturnBoolean)
With Workbooks("G&H Project.xla")
.Worksheets("Fax Template").Unprotect
.Worksheets("Fax Template").Range("B22").Value _
= Me.TbFaxMsg.Value
.Worksheets("FaxTemplate") _
.Range"B22").CheckSpelling
End With
With Me.TbFaxMsg
.Value = Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").Value
End With
End Sub

This seems to work, but can I suppress the message
suggesting checking all the sheet, please?

Regards.






  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default CheckSpelling a Textbox

Yes you are and I am aware of that, but I misunderstood what Vic was
suggesting. So rather than being able to take the easy way out, you forced
me to do some testing. I think you need to have one cell adjacent to B22
that is empty, then you can do:

I will Assume B23 is emtpy.

Private Sub TbFaxMsg_Exit _
(ByVal Cancel As MSForms.ReturnBoolean)
With Workbooks("G&H Project.xla")
.Worksheets("Fax Template").Unprotect
.Worksheets("Fax Template").Range("B22").Value _
= Me.TbFaxMsg.Value
.Worksheets("FaxTemplate") _
.Range("B22").Resize(2).CheckSpelling
End With
With Me.TbFaxMsg
.Value = Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").Value
' just for neatness let's remove the text from B22
Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").ClearContents
End With
End Sub

By using two cells to check (one just a dummy), it doesn't appear to give
the prompt - at least this worked for me. xl2003

--
Regards,
Tom Ogilvy



"Stuart" wrote in message
...
I thought I was copying the textbox contents to a range
in one of the addin's sheets, and then running
Checkspelling on the contents of that range, before
transferring the revised data back to the textbox.

I missed something again?

Regards and thanks.

"Tom Ogilvy" wrote in message
...
Vic Eldridge Previously said:
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


"Stuart" wrote in message
...
Form is shown via an addin. User enters data into a textbox. When they

exit
the textbox this code runs:

Private Sub TbFaxMsg_Exit _
(ByVal Cancel As MSForms.ReturnBoolean)
With Workbooks("G&H Project.xla")
.Worksheets("Fax Template").Unprotect
.Worksheets("Fax Template").Range("B22").Value _
= Me.TbFaxMsg.Value
.Worksheets("FaxTemplate") _
.Range"B22").CheckSpelling
End With
With Me.TbFaxMsg
.Value = Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").Value
End With
End Sub

This seems to work, but can I suppress the message
suggesting checking all the sheet, please?

Regards.








  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 595
Default CheckSpelling a Textbox

Andy Miller said Application.DisplayAlerts will suppress that message too.

http://www.dicks-blog.com/archives/2...eck-a-textbox/

Adding that extra cell is pretty cool, though. They don't even have to be
contiguous

?union(range("a1"),range("IV65536")).CheckSpelling

appears to work in xl2000.

--
Dick Kusleika
Excel MVP
Daily Dose of Excel
www.dicks-blog.com

Tom Ogilvy wrote:
Yes you are and I am aware of that, but I misunderstood what Vic was
suggesting. So rather than being able to take the easy way out, you
forced me to do some testing. I think you need to have one cell
adjacent to B22 that is empty, then you can do:

I will Assume B23 is emtpy.

Private Sub TbFaxMsg_Exit _
(ByVal Cancel As MSForms.ReturnBoolean)
With Workbooks("G&H Project.xla")
.Worksheets("Fax Template").Unprotect
.Worksheets("Fax Template").Range("B22").Value _
= Me.TbFaxMsg.Value
.Worksheets("FaxTemplate") _
.Range("B22").Resize(2).CheckSpelling
End With
With Me.TbFaxMsg
.Value = Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").Value
' just for neatness let's remove the text from B22
Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").ClearContents
End With
End Sub

By using two cells to check (one just a dummy), it doesn't appear to
give the prompt - at least this worked for me. xl2003


"Stuart" wrote in message
...
I thought I was copying the textbox contents to a range
in one of the addin's sheets, and then running
Checkspelling on the contents of that range, before
transferring the revised data back to the textbox.

I missed something again?

Regards and thanks.

"Tom Ogilvy" wrote in message
...
Vic Eldridge Previously said:
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


"Stuart" wrote in message
...
Form is shown via an addin. User enters data into a textbox. When
they exit the textbox this code runs:

Private Sub TbFaxMsg_Exit _
(ByVal Cancel As MSForms.ReturnBoolean)
With Workbooks("G&H Project.xla")
.Worksheets("Fax Template").Unprotect
.Worksheets("Fax Template").Range("B22").Value _
= Me.TbFaxMsg.Value
.Worksheets("FaxTemplate") _
.Range"B22").CheckSpelling
End With
With Me.TbFaxMsg
.Value = Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").Value
End With
End Sub

This seems to work, but can I suppress the message
suggesting checking all the sheet, please?

Regards.





  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 154
Default CheckSpelling a Textbox

Many thanks to you both.

Regards.

"Tom Ogilvy" wrote in message
...
Yes you are and I am aware of that, but I misunderstood what Vic was
suggesting. So rather than being able to take the easy way out, you
forced
me to do some testing. I think you need to have one cell adjacent to B22
that is empty, then you can do:

I will Assume B23 is emtpy.

Private Sub TbFaxMsg_Exit _
(ByVal Cancel As MSForms.ReturnBoolean)
With Workbooks("G&H Project.xla")
.Worksheets("Fax Template").Unprotect
.Worksheets("Fax Template").Range("B22").Value _
= Me.TbFaxMsg.Value
.Worksheets("FaxTemplate") _
.Range("B22").Resize(2).CheckSpelling
End With
With Me.TbFaxMsg
.Value = Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").Value
' just for neatness let's remove the text from B22
Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").ClearContents
End With
End Sub

By using two cells to check (one just a dummy), it doesn't appear to give
the prompt - at least this worked for me. xl2003

--
Regards,
Tom Ogilvy



"Stuart" wrote in message
...
I thought I was copying the textbox contents to a range
in one of the addin's sheets, and then running
Checkspelling on the contents of that range, before
transferring the revised data back to the textbox.

I missed something again?

Regards and thanks.

"Tom Ogilvy" wrote in message
...
Vic Eldridge Previously said:
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


"Stuart" wrote in message
...
Form is shown via an addin. User enters data into a textbox. When they
exit
the textbox this code runs:

Private Sub TbFaxMsg_Exit _
(ByVal Cancel As MSForms.ReturnBoolean)
With Workbooks("G&H Project.xla")
.Worksheets("Fax Template").Unprotect
.Worksheets("Fax Template").Range("B22").Value _
= Me.TbFaxMsg.Value
.Worksheets("FaxTemplate") _
.Range"B22").CheckSpelling
End With
With Me.TbFaxMsg
.Value = Workbooks("G&H Project.xla") _
.Worksheets("Fax Template").Range _
("B22").Value
End With
End Sub

This seems to work, but can I suppress the message
suggesting checking all the sheet, please?

Regards.










Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
HELP! I Lost The Ability To Advance From TextBox To TextBox With the ENTER Or The TAB Keys Minitman[_4_] Excel Programming 0 February 22nd 05 08:50 PM
CheckSpelling Method Continues beyond specified range greggmendel Excel Programming 1 October 22nd 04 01:50 AM
CheckSpelling + TextBox Stuart[_5_] Excel Programming 0 July 27th 04 06:59 AM
TextBox - CheckSpelling question Stuart[_5_] Excel Programming 2 July 24th 04 08:41 PM
Application.CheckSpelling Error in Macro Bjorg P. Excel Programming 1 April 30th 04 10:30 PM


All times are GMT +1. The time now is 06:14 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"