Maximise and Minimise buttons

J

Jason Zischke

Hi All,

Is there a way to disable the minimise and maximise buttons at the top right
hand corner in excel I've got the close button to disable so that the only to
close the program is my way but is there any way to disable these?

Thanks in advance

Jason
 
J

Jason Zischke

Hi Tom

This worked on disabling them in the right click menu but didn't disable the
buttons.

Regards

Jason
 
T

Tom Ogilvy

In contrast, It worked for me.

Did you actually try the buttons.

The buttons were still there and would depress, but did nothing.
 
J

Jason Zischke

Hi Tom

I tried it again and still got the same result, am I doing something wrong
below is the code.

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, _
ByVal bRevert As Integer) As Integer

Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Integer, _
ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer

Sub Disable_Control()
Dim X As Integer, hwnd As Long
hwnd = FindWindow("XLMain", Application.Caption)
For X = 1 To 9
'Delete the first menu command and loop until
'all commands are deleted
Call DeleteMenu(GetSystemMenu(hwnd, False), 0, 1024)
Next X
End Sub

Sub RestoreSystemMenu()
Dim hwnd As Long
'get the window handle of the Excel application
hwnd = FindWindow("xlMain", Application.Caption)
'restore system menu to original state
hMenu% = GetSystemMenu(hwnd, 1)
End Sub


Sub Disable_Control2()
Dim X As Integer, hwnd As Long
hwnd = FindWindow("XLMain", Application.Caption)
Call DeleteMenu(GetSystemMenu(FindWindow("xlMain", _
Application.Caption), False), 4, 1024)
Call DeleteMenu(GetSystemMenu(FindWindow("xlMain", _
Application.Caption), False), 3, 1024)
End Sub

Any help would be Greatly Appreciated

Jason
 
T

Tom Ogilvy

I tested the code in the article (your first two procedures) in xl97 on
Windows 98 SE and xl2002 on Windows 2000. It worked in both cases. I
tested you Disable_Control2 in xl2002 on Windows 2000. It worked in all
cases. In all cases, the code was placed in a general module with the
declarations at the top of the module above any procedures.

A later version of the article
http://support.microsoft.com/default.aspx?scid=kb;en-us;814562

for xl2002 also has references to the version for xl97 and xl2000. None
talk about a specific operating system, so to the best of my knowledge, it
should work in Windows XP as well.
 

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