Contraseña en libro con macros y hojas ocultas

Buenos días.
Quiero poner contraseña a un archivo que tiene macros, pero cuando lo intento hacer protegiendo el libro, luego las macros quedan deshabilitadas.
Por lo tanto me he metido en el foro para buscar métodos para pedir contraseñas pero sin que se visualice nada del libro mientras pide la contraseña, pero siempre surge el problema de que si se deshabilitan las macros, el usuario puede ver el contenido del libro.
Por eso he pensado una solución intermedia de todas las que he encontrado en el foro, pero mis muy limitados conocimientos de escribir nuevas lineas de programación (que no este registrado con el grabador de macros, vaya), no me permiten desarrollarlo, pero creo que lo que quiero debe ser relativamente fácil.
adjunto archivo para descargar: http://www.megaupload.com/?d=DYHLJ86I
tengo varias hojas. Portada, enero, febrero, trabajo1 y trabajo2. La de portada es donde quiero insertar la contraseña, la de enero y febrero es donde vienen los datos, y las de trabajo 1 y 2 son hojas ocultas necesarias para los desplegables, pero que quiero que permanezcan ocultas.
Lo que había pensado es que cuando cerraras el libro, todas las hojas menos "portada" quedaran ocultas con el "veryhidden", para que cuando se deshabiliten las macros, nadie las pudiera ver. Eso lo he conseguido. Es algo así:
(En modulo ThisWorkbook)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("enero").Visible = xlSheetVeryHidden
Sheets("febrero").Visible = xlSheetVeryHidden
Sheets("trabajo1").Visible = xlSheetVeryHidden
Sheets("trabajo2").Visible = xlSheetVeryHidden
End Sub
Lo que quiero luego es en la portada, poder ingresar la contraseña (cifrada con ****) en el textbox y darle al botón aceptar. Y que tuviera un código tipo "if" que admitiera 2 contraseñas (una del usuario y otra de control), y que si se introduce cualquiera de esos 2 valores, convirtiera en visibles las hojas "enero" y "febrero" (y si se pudiera, convertir trabajo1 y trabajo2 en hojas sencillamente ocultas, sin el "veryhidden". Si no se puede, pues nada), y si no devolviera un msgbox que dijera "Contraseña incorrecta" o algo así.
Si se aprieta el botón cancelar, que cerrara el libro sin cambios.
Admito cualquier tipo de sugerencia, esto es lo que se me ha ocurrido a priori.
Agradecería cualquier tipo de ayuda al respecto, porque ademas he visto que en el foro hay gente con una duda similar, y no he encontrado una solución definitiva que me funcionara.
Muchas gracias por todo
Respuesta
1
Tu idea es correcta, la de ocultar las hojas desde código. De ese modo cuando se abra 'sin habilitar las macros' no se debieran ver ni poder mostrar desde el menú Formato.
No sé porqué comentas que sí se ven, quizás estás trabajando con las macros inhabilitadas y por eso no se ejecuta la del evento Close
Estuve revisando el adjunto que dejaste, pero aparece sin códigos, por lo que no puedo precisar en dónde te equivocaste.
Pero la idea que planteas es correcta y funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas