We help IT Professionals succeed at work.

How can I disable the close "X" in the Excel 2007/2010 title bar?

wcpoa8
wcpoa8 asked
on
429 Views
Last Modified: 2012-05-10
The code below works in thisWorkbook in Excel 2003. I need a way to do this in Excel 2007/2010. Can anyone help?

Option Explicit

'Written: December 24, 2008
'Author:  Leith Ross
'Summary: Enables or Disables the Close "X" on Excel's title bar.

Private Declare Function FindWindow _
  Lib "user32.dll" _
   Alias "FindWindowA" _
    (ByVal lpszClass As String, _
     ByVal lpszWindow As String) As Long
     
Private Declare Function GetSystemMenu _
  Lib "user32.dll" _
  (ByVal hwnd As Long, _
   ByVal bRevert As Long) As Long
    
Private Declare Function RemoveMenu _
  Lib "user32" _
  (ByVal hMenu As Long, _
   ByVal nPosition As Long, _
   ByVal wFlags As Long) As Long
   
Private Declare Function DrawMenuBar _
  Lib "user32.dll" _
    (ByVal hwnd As Long) As Long

Public Sub SetCloseX(ByVal bEnable As Boolean)

  Dim Action As Long
  Dim hMenu As Long
  Dim hwnd As Long
  Dim Ret As Long
  
  Const MF_BYCOMMAND As Long = &H0
  Const SC_CLOSE As Long = &HF060
  
    Action = CLng(bEnable)
    hwnd = FindWindow("XLMAIN", vbNullString)
    hMenu = GetSystemMenu(hwnd, Action)
    
    Ret = RemoveMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)
    Ret = DrawMenuBar(hwnd)

End Sub

Sub RedXworks()
'put this part into workbook_activate, not behind a button
SetCloseX True
End Sub

Sub RedXdisabled()
'put this part into workbook_deactivate, not behind a button
SetCloseX False
End Sub

Open in new window

Comment
Watch Question

Please the code in Thisworkbook object module

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If [your criteria] then
MsgBox "Close Diabled"
Cancel = True
endif
End Sub

Cancel = True which will cancel/disable the close operation.
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.