Formulario no cierra con "X" pero...

21/01/2008 - 08:16 por GRIEGO59 | Informe spam
Hola!
Tengo un formulario "Ventas" que no se cierra con "X", sino con un botón
"cerrar".
Con estos codigos que no se exactamente como funcionan:
Option Explicit
Private Sub cmdCerrar_Click()
Unload Me 'para cerrar el formulario
ActiveWorkbook.Save 'para grabar antes de cerrar el libro
ActiveWorkbook.Close 'para cerrar el libro al cerrar el formulario
End Sub

Private Sub UserForm_QueryClose(cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
MsgBox "Use el botón CERRAR del formulario", vbInformation, " Botón No
Disponible "
cancel = 1
CloseMode = 1
End If
End Sub

y en un módulo:
Sub Auto_open()
Load Clientes
Ventas.Show
End Sub

Me pareció bien que el formulario se activa automáticamente al abrir el
libro y al cerrar el formulario, se cierra tambien el libro de excel, de esta
forma el usuario tiene menos oportunidad de distraerse con la información de
las hojas.

Lo único malo es que al abrir el libro si no se habilitan las macros el
usuario tiene acceso a la información del libro, y si se habilitaran las
macros automáticamente al abrir el libro, entonces como podría luego yo tener
acceso a la información del libro.

Todas las hojas están protegidas y se protegen y desprotegen según las macros.

Si oculto las hojas, luego pueden mostrarse libremente por el usuario.

Darío
 

Leer las respuestas

#1 Héctor Miguel
22/01/2008 - 06:17 | Informe spam
hola, Darío !

__ 1 __
Tengo un formulario "Ventas" que no se cierra con "X", sino con un boton "cerrar"...
... el formulario se activa... al abrir el libro y al cerrar el formulario, se cierra tambien el libro
... de esta forma el usuario tiene menos oportunidad de distraerse con la informacion de las hojas.
Lo unico malo es que al abrir el libro si no se habilitan las macros el usuario tiene acceso a la informacion del libro


__ 2 __
y si se habilitaran las macros... al abrir el libro, entonces como podria... yo tener acceso a la informacion del libro.


__ 3 __
Todas las hojas estan protegidas y se protegen y desprotegen segun las macros.
Si oculto las hojas, luego pueden mostrarse libremente por el usuario.



1) lo usual (y mas recomendado) en estos casos es tener una "primera hoja" como presentacion (en caso de "no macros")
que se oculte en el evento '_open' de tu libro y quede a la vista la hoja que consideres apropiada (ademas)...
es obligado bloquear la visualizacion de tu proyecto de macros (vba) y asignarle una clave (de esta forma)...

2) puedes mantener pulsada la tecla {shift/mayusc} al momento de aprobar el uso de macros y hasta que se abra tu libro
este paso omite la ejecucion de macros y eventos de apertura, con lo que el formulario no debera aparecer
y ya que tu conoces la clave de tu proyecto de macros... ;)

3) para que las hojas ocultas queden "fuera del alcance" de los usuarios, procura ocultarlas (por codigo)
-> estableciendo su propiedad "Visible" como xlSheetVeryHidden (no aparecen en los menus para mostrar hoajs ocultas)
(obviamente) no es infalible... (pero se espera que pueda desesperanzar a usuarios "comunes" y quiza medio-avanzados)...

OJO: asegurate tambien de que al guardar el libro ocultas todas las hojas y solo queda visible "la de pantalla"
(para el siguiente open) y de que el usuario no pueda hacer acciones de guardar o guardar como (por si las dudas)

saludos,
hector.

Preguntas similares