View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Peter T Peter T is offline
external usenet poster
 
Posts: 5,600
Default Disable close unless key held

No that's not what I meant and not sure how that'd work. Try this in a
ThisWorkbook module and try and close Excel -

Private Declare Function GetKeyState32 Lib "user32" _
Alias "GetKeyState" (ByVal vKey As Integer) As Integer

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim res As Long

res = GetKeyState32(vbKeyControl)

If ThisWorkbook.Saved = False Then
Cancel = (res = 0)
End If

If Cancel Then
MsgBox "hold Ctrl if you want to close Excel"
End If

End Sub

Regards,
Peter T

"Chad Cameron" remove NOT wrote in message
...
I am guessing you mean something like check if ZZ1 = [something] then
close. and then I enter something in that cell when I want to close it.

That will work, its just an extra step.

"Peter T" <peter_t@discussions wrote in message
...
There are several ways to close Excel, 2 ways with the main Excel icon,
the little-x on the main window, Alt-F4, and File/Exit. Only the latter
in 2000-2003 can easily be intercepted. To trap the others would require
doing a lot of stuff that's not practical.

A different approach would be to set the Cancel flag in a workbook-close
event if/as required, post back if that might work for your needs.

Regards,
Peter T

"Chad Cameron" remove NOT wrote in message
...
Hi All,

Is there a way to only enable the close command in excel if the "Shift"
key is held (or any key for that matter) I have a little program that
monitors a computer, but I don't want anyone to close it. (At this time
I am not worried if they kill the process).

Thanks
Chad