Desactivar Botones

09/01/2008 - 22:40 por Archivo Plano | Informe spam
Tengo un programa en excel en una hoja x y en esta hoja cree un boton desde
el cual el usuario final debe dar click para salir del programa. Como puedo
desactivar los botones Minimizar, Maximizary el botón Cerrarpara que este no
manipule estos botones???

Agradezco de antemano la colaboración prestada.
 

Leer las respuestas

#1 Héctor Miguel
10/01/2008 - 07:26 | Informe spam
hola, (...) ???

Tengo un programa en excel en una hoja x y en esta hoja cree un boton desde el cual el usuario final debe dar click para salir del programa.
Como puedo desactivar los botones Minimizar, Maximizary el boton Cerrarpara que este no manipule estos botones???



para eliminar (o al menos inhabilitar) el boton [X] para salir de una hoja/libro -> se requiere hacer llamadas a las API's
si te parece utilizar algunas alternativas menos complicadas...

op1: puedes ocultar la [X] para ese libro desde (menu) herramientas / proteger / proteger libro...
-> si marcas la opcion de proteger las ventanas (puedes dejar sin proteccion la estructura)
incluso, no es necesaria una contrasena

op2: con el siguiente procedimiento (que ademas utiliza muy pocas lineas de codigo) puedes obtener el mismo efecto de las API's
-> (solo) se necesitan 3 instrucciones en tu proyecto de macros...
1) declarar una variable publica de tipo boolean (verdadero/falso)
(de preferencia) en un modulo de codigo normal (para que sea transparente para todo modulo)
2) una linea que establezca dicha variable en verdadero (o falso segun como/cuando la quieras utilizar)
3) una linea en el evento '_beforeclose' del libro para que mientras la variable no lo permita... no se pueda salir

1) en un modulo de codigo normal:
Public SePuedeSalir As Boolean

2) p.e. en el evento '_click' de tu boton (si es de cuadro de controles) o en una macro asignada a otro tipo de boton... -???-
Sub CerrarEsteLibro()
SePuedeSalir = True
ThisWorkbook.Close
SePuedeSalir = False
End Sub

3) en el modulo de codigo del libro (ThisWorkbook)::
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = Not SePuedeSalir
End Sub

notas:
1) la macro (CerrarEsteLibro) la asignas al (o los) boton/es que necesites
o la mueves al evento '_click' del boton (si viene de la barra de herramientas cuadro de controles)
2) la instruccion -> ThisWotkbook.Close
a) si ha habido cambios en el libro... le va a preguntar al usuario si desea salvarlos
b) si quieres TU administrar la decision de si se salvan o no... compementa la instruccion a...
-> ThisWorkbook.Close False ' o True si deseas que NO/SI se guarden los cambios

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Preguntas similares