|    
			
				26/05/2010, 08:44
			
			
			  | 
  |   |  |  |  |  Fecha de Ingreso: diciembre-2003 Ubicación: A un click de distancia 
						Mensajes: 1.044
					 Antigüedad: 21 años, 10 meses Puntos: 11 |  | 
  |  Bloquear Btn Cerrar (X) de un Form Excel  
  Hola colegas, luego de mucho buscar encontre un codigo que oculta el boton cerrar (X) de un form, solamente peguen el codigo dentro del formulario:
 
 Private Const MF_BYPOSITION = &H400
 Private Const MF_REMOVE = &H1000
 'API Functions that need to be called to Disable the Close Button on the Form
 Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
 Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
 Private Declare Function GetSystemMenu Lib "user32" (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 FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
 Private hWnd As Long
 
 Private Sub UserForm_Initialize()
 Dim hMenu		  As Long
 Dim menuItemCount  As Long
 'Get the handle of the User Form
 'This is used because there is no property present in the UserForm that gives the HWND
 hWnd = FindWindow(vbNullString, Me.Caption)
 'Get the Handle of the Menu
 hMenu = GetSystemMenu(hWnd, 0)
 If hMenu Then
 'Get the Number of Items present in the Menu
 menuItemCount = GetMenuItemCount(hMenu)
 'Remove the system menu Close menu item.
 'The menu item is 0-based, so the last
 'item on the menu is menuItemCount - 1
 Call RemoveMenu(hMenu, menuItemCount - 1, MF_REMOVE Or MF_BYPOSITION)
 'Remove the Separator line from the Menu
 Call RemoveMenu(hMenu, menuItemCount - 2, MF_REMOVE Or MF_BYPOSITION)
 'Redraw the menu, this will refresh the Title Bar and disable the X button
 Call DrawMenuBar(hWnd)
 End If
 End Sub
 
				__________________  -- Nunca te des por vencido, aún vencido -- Web    |