"Enter" event for text box control?

C

Chrisso

Hi All

I have a text box control from the control toolbox (not a Form's
control) in which I want my user to enter some data. I would like to
know when they hit "Enter" when they are done.

However the TextBox control does not seem to have an event that will
capture the "Enter" as the Help file for the KeyPress event states:
A KeyPress event does not occur under the following conditions:
Pressing TAB.
Pressing ENTER.

I dont see any other event that will tell me when the user hits
enter.

Of course, I could stick a command button next to the text box that
says "OK" but I would prefer, if possible, to capture the "Enter" and
go.

Is anyone aware of a way for me to capture the "Enter"?

Thanks in advance for any ideas.
Chrisso
 
B

Bob Phillips

Use the KeyDown event instead.

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
P

Peter T

Hi Chrisso,

As Bob suggests, the KeyDown event will detect an enter press
KeyCode = vbKeyReturn

However, does user press Enter when done or merely select something else.
Perhaps the LostFocus event would help.

Regards,
Peter T
 
C

Chrisso

Hi Guys - thanks for your respones.

Bob - I am using an ActiveX control as I need the "PasswordChar"
property as what the user enters is a password required to initiate
some logic. When I try to add the KeyDown event to its code VB
complains and I think this is because the events list must be
different between ActiveX text boxes and Forms text boxes. How can I
get a list of ActiveX text box events? The Excel help facility only
seems to list events for Form text boxes.

Peter - As this is a "password" text box the user just hits enter and
does not select anything else so LostFocus wont help me on this one I
think.

So - to clarify my original question: How do I capture an "Enter" on
an ActiveX text box.

I am assuming that when you select through Excel:
View->Toolbars->Control Toolbox
the controls you see are ActiveX controls - I could be wrong!

Cheers
Chrisso
 
P

Peter T

If user knows to hit enter after the entering the password -

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, _
ByVal Shift As Integer)
Const PASSWORD = "cesame"

If KeyCode = vbKeyReturn Then
If LCase(TextBox1.Text) = PASSWORD Then
MsgBox "Password valid"
End If
End If
End Sub

Alternatively, simply -

Private Sub TextBox1_Change()
Const PASSWORD = "cesame"

If LCase(TextBox1.Text) = PASSWORD Then
MsgBox "Password valid"
End If

End Sub
I am assuming that when you select through Excel:
View->Toolbars->Control Toolbox
the controls you see are ActiveX controls - I could be wrong!

Indeed they are ActiveX controls.

Regards,
Peter T
 
B

Bob Phillips

I don't get that problem Chrisso (there isn't a forms toolbbar textbox).

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top