Luis Raposo
Mensagens : 1 Data de inscrição : 11/09/2013
| Assunto: Desabilitar comandos do Windows VBA Qua Set 11, 2013 1:34 pm | |
| Bom dia,
Sou novato em VBA, preciso de ajuda, preciso de desabilitar a saida com o "X" só numa folha de excel as outras ficam como estão.
Podem me ajudar?
Obrigado. | |
|
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Desabilitar comandos do Windows VBA Qui Set 19, 2013 5:18 am | |
| BOa noite!! Tente adaptar. - Código:
-
Public Sub Workbook_BeforeClose(Cancel As Boolean) If Not bCloseOK Then MsgBox "Frase1" & _ vbNewLine & " Frase2 " & _ vbNewLine & " Frase3" Cancel = True
End If End Sub
- Código:
-
Public Sub Button1_Click() bCloseOK = True Application.Quit Ou - Código:
-
Public Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Public Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Declare Function EnableMenuItem Lib "user32" ( _ ByVal hMenu As Long, _ ByVal uIDEnableItem As Long, _ ByVal uEnable As Long) As Long Private Declare Function FindWindow _ Lib "user32.dll" _ Alias "FindWindowA" _ (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long
Public Const MF_BYCOMMAND = &H0& Public Const MF_BYPOSITION = &H400& Public Const SC_ARRANGE = &HF110 Public Const SC_CLOSE = &HF060 Public Const SC_HOTKEY = &HF150 Public Const SC_HSCROLL = &HF080 Public Const SC_KEYMENU = &HF100 Public Const SC_MAXIMIZE = &HF030 Public Const SC_MINIMIZE = &HF020 Public Const SC_MOVE = &HF010 Public Const SC_NEXTWINDOW = &HF040 Public Const SC_PREVWINDOW = &HF050 Public Const SC_RESTORE = &HF120 Public Const SC_SIZE = &HF000 Public Const SC_VSCROLL = &HF070 Public Const SC_TASKLIST = &HF130 Public Const HWND_TOPMOST = -1 Public Const HWND_NOTOPMOST = -2 Public Const HWND_TOP = 0 Public Const SWP_NOSIZE = &H1 Public Const SWP_NOMOVE = &H2 Public Const GWL_STYLE = (-16)
Sub DisableExcelMenu() ' Remove Exel Menu Items Dim hMenu As Long
hMenu = GetSystemMenu(Application.hwnd, 0) Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)
End Sub
'To enable the close button use
Sub ReEnable() Dim hMenu As Long
hMenu = GetSystemMenu(Application.hwnd, 0) Call EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND)
End sub | |
|