ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   close application when interrupt by user (https://www.excelbanter.com/excel-programming/378910-close-application-when-interrupt-user.html)

terry

close application when interrupt by user
 
How to close the application without saving the changes when user press
"Ctrl" and "Break" button to interrupt the macro during code running?


NickHK

close application when interrupt by user
 
Terry,
Basically you can't. If the user has interrupted code, how are you going run
code ?

Maybe you need Application.EnableCancelKey

NickHK

"Terry" wrote in message
...
How to close the application without saving the changes when user press
"Ctrl" and "Break" button to interrupt the macro during code running?




terry

close application when interrupt by user
 
I want to invoke some procedure to close the file when user do it.

Application.OnKey "^{BREAK}", "CloseFile"

Sub CloseFile()
ActiveWorkbook.Close savechanges = False
End Sub

But the problem is where I should put the code? as "on error" method will
keep monitor the errors when code running. hoe does "OnKey" works?

"NickHK" wrote:

Terry,
Basically you can't. If the user has interrupted code, how are you going run
code ?

Maybe you need Application.EnableCancelKey

NickHK

"Terry" wrote in message
...
How to close the application without saving the changes when user press
"Ctrl" and "Break" button to interrupt the macro during code running?





NickHK

close application when interrupt by user
 
Terry,
I would be surprised if Excel can work like that, because if code is
executing (which must be the case if the user presses ^BREAK), your code
cannot run.
I suppose that's why your have the .EnableCancelKey property.
You can achieve your goal if you set it to = xlErrorHandler ?
See the help for an example.

NickHK

"Terry" wrote in message
...
I want to invoke some procedure to close the file when user do it.

Application.OnKey "^{BREAK}", "CloseFile"

Sub CloseFile()
ActiveWorkbook.Close savechanges = False
End Sub

But the problem is where I should put the code? as "on error" method will
keep monitor the errors when code running. hoe does "OnKey" works?

"NickHK" wrote:

Terry,
Basically you can't. If the user has interrupted code, how are you going

run
code ?

Maybe you need Application.EnableCancelKey

NickHK

"Terry" wrote in message
...
How to close the application without saving the changes when user

press
"Ctrl" and "Break" button to interrupt the macro during code running?







Alan Smith

close application when interrupt by user
 
Hi Nick,

Can you expand on the .EnableCancelKey property, and the solution you gave
to Terry? This sounds like something I could really have a use for.

Thanks,

Alan

"NickHK" wrote:

Terry,
I would be surprised if Excel can work like that, because if code is
executing (which must be the case if the user presses ^BREAK), your code
cannot run.
I suppose that's why your have the .EnableCancelKey property.
You can achieve your goal if you set it to = xlErrorHandler ?
See the help for an example.

NickHK

"Terry" wrote in message
...
I want to invoke some procedure to close the file when user do it.

Application.OnKey "^{BREAK}", "CloseFile"

Sub CloseFile()
ActiveWorkbook.Close savechanges = False
End Sub

But the problem is where I should put the code? as "on error" method will
keep monitor the errors when code running. hoe does "OnKey" works?

"NickHK" wrote:

Terry,
Basically you can't. If the user has interrupted code, how are you going

run
code ?

Maybe you need Application.EnableCancelKey

NickHK

"Terry" wrote in message
...
How to close the application without saving the changes when user

press
"Ctrl" and "Break" button to interrupt the macro during code running?








NickHK

close application when interrupt by user
 
Alan,
Whilst I would not necessarily advise closing/quitting in such a suitable,
you can decide what to do:

Private Sub CommandButton1_Click()
Dim i As Long
Dim j As Long

Application.EnableCancelKey = xlErrorHandler
On Error GoTo Handler

For i = 1 To 100000
For j = 1 To 10000
Debug.Print "Value=: " & i * j
Next
DoEvents
Next

Exit Sub

Handler:
'Either an error or the code has been stopped
MsgBox "You are in the handler." & vbNewLine & "Exiting routine."

'Do what you want
End Sub

NickHK

"Alan Smith" wrote in message
...
Hi Nick,

Can you expand on the .EnableCancelKey property, and the solution you gave
to Terry? This sounds like something I could really have a use for.

Thanks,

Alan

"NickHK" wrote:

Terry,
I would be surprised if Excel can work like that, because if code is
executing (which must be the case if the user presses ^BREAK), your code
cannot run.
I suppose that's why your have the .EnableCancelKey property.
You can achieve your goal if you set it to = xlErrorHandler ?
See the help for an example.

NickHK

"Terry" wrote in message
...
I want to invoke some procedure to close the file when user do it.

Application.OnKey "^{BREAK}", "CloseFile"

Sub CloseFile()
ActiveWorkbook.Close savechanges = False
End Sub

But the problem is where I should put the code? as "on error" method

will
keep monitor the errors when code running. hoe does "OnKey" works?

"NickHK" wrote:

Terry,
Basically you can't. If the user has interrupted code, how are you

going
run
code ?

Maybe you need Application.EnableCancelKey

NickHK

"Terry" wrote in message
...
How to close the application without saving the changes when user

press
"Ctrl" and "Break" button to interrupt the macro during code

running?











All times are GMT +1. The time now is 05:48 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com