EnableancelKey=xlErrorHandler not working in UserForm

N

Nathan Gutman

I am runing XL97 in Win95.

I am trying to prevent a user from disabling a userform using
Ctrl-Break. I know how to stop him from clicking on the X but he can
still press Ctrl-Break and get out from the code..
I am using the code below to trap Ctrl-Break error 18 but it doesn't
work and I can't figure out why.

No matter what I do I don't seem to get it to go to the ErrorHandler
while UserForm1 is showing.

There isn't anything on that in MSKnowledgebase.
Thanks for any help.

'This is in ThisWorkbook
Private Sub Workbook_Open()
Call On_Open
End Sub

'This is in Module1
Private Sub On_Open()
On Error GoTo ErrorHandler
Application.EnableCancelKey = xlErrorHandler
UserForm1.Show
ErrorHandler:
If Err.Number = 18 Then
UserForm1.Hide
MsgBox "pressed break"
End If
End Sub
 
J

Jim Rech

I wasn't able to get the error hander code to run either. But setting up
the error handler (even empty) along with EnableCancelKey = xlErrorHandler
does achieve what you want, doesn't it? It does not close the userform so
Ctrl-Break is effectively negated. You don't have to tell the user it
doesn't work; he can see that and will try something else.
 
N

Nathan Gutman

The problem is that it doesn't get to the ErrorHandler line label.
Normally I would like to do some things when error 18 is discovered.
Display a warning message or save and close the workbook for example.
Just leaving it the way it is I had the code hang because it was
constantly displaying the user form.
Bottom line: xlErrorHandler does not seem to work as it is supposed to
and I wonder if any simple fixes, patches or workarounds exist.
 

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