Problemas con la proteción en Sheets

04/07/2003 - 19:42 por Carlos Mauricio Parra | Informe spam
Diseñe un pequeño macro en excel que genera unos reportes y protege las
hojas sin clave (password), para que no se modifiquen la estructura del
reporte, todo funciona perfecto, sin embargo me ha pasado en un par de
ocaciones (la mayoria de las veces desbloquea sin poner ninguna clave) que
cuando trato de desprotejer una de esas hojas estas tienen un password (no
acepta el passwrd en blanco), al principio crei que era alguna persona que
protegio por error la hoja, pero hoy me sucedio con un archivo local en mi
computadora que solo yo uso, pareciera que se corrompiera esa clave. A
alguien le ha sucedido eso?, como puedo solucionarlo?.

De antemano gracias,

Carlos Mauricio Parra
 

Leer las respuestas

#1 Carlos Mauricio Parra
08/07/2003 - 13:12 | Informe spam
Antes que nada , muchas gracias por responder

Yo cree dos subrutinas en VBA para realizar la proteccion y desproteccion de
las hojas (ambos creados a partir de grabar una macro), ya que lo utilizo en
mucho en el programa lo unico que me interesa protejer es que la gente no
modifique los titulos y codigos de las cuentas de una hoja de presupuesto.

Sub Protejo
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
End Sub

Sub Desprotejo
ActiveSheet.Unprotect
End Sub

Ambos funcionan perfectamente y se reutilizan una y otra vez, pero
luego de algun tiempo de estarse usando cuando utilizo el macro de
desprotejer la hoja me pide una clave, entonces intento hacerlo manualmente
desde el menu e igualmente se metio una clave, aun no he detectado cuando
ocurre exactamente porque es muy exporadico, en los ultimos 2 meses me ha
ocurrido en dos hojas de un total de 20 que utilizan el mismo codigo, por
eso pienso que es que se corrompe o algo por el estilo. Me aconsejaron usar
un programa que desbloquea las claves o las encuentre para luego volverla a
poner en blanco y continuar, pero la verdad no so muy devoto a esos
programas.

Segun te entedi bien tu respuesta voy a cambiar ambas rutinas por y asi debo
minimizar el riego de que esto pase:

Sub Protejo
ActiveSheet.Protect
End Sub

Sub Desprotejo
ActiveSheet.Unprotect False
End Sub

Muchas Gracias,

Carlos Mauricio Parra

"Héctor Miguel" escribió en el mensaje
news:
Hola, Carlos !

> ... macro ... que ... protege las hojas sin clave (password)
> ... ha pasado ... que cuando trato de desprotejer ... tienen un password


(no acepta el password en blanco) [...]

==> Si "repasamos" la estructura del metodo Protect (y Unprotect)


"aplicable" a hojas de Excel:
p.e. ActiveSheet.Protect(Password, DrawingObjects, Contents,


Scenarios, UserInterfaceOnly)
Los argumentos (excepto el primero) son valores "booleanos" (True


o False) para proteger (o no) "esos" objetos.
Sus valores predeterminados (si se omiten) son: False, True, True,


False (en "su" orden).
El primer argumento (Password) SI "se usa", es una cadena de texto


CON la contraseña que activa | desactiva la proteccion.
Este argumento puede ser "omitido" o especificamente "establecido"


como False

(algunas de) las posibles formas de uso del metodo son (p.e.):
-o- ActiveSheet.Protect "Clave", True, False, True, False
-o- ActiveSheet.Protect Password:="Clave", UserInterfaceOnly:=True
-o- ActiveSheet.Protect =>Se omite la clave y los demas argumentos


son los predeterminados<>
==> Para desproteger la hoja USANDO un "password en blanco" (como indicas


en tu mensaje) "se requiere" que...
La hoja se hubiera protegido ya sea "omitiendo" el password o


"estableciendolo" como una cadena vacia ("")
Si la proteccion "ocurrio" ESTABLECIENDO como False el argumento


"Password", las siguientes "formas" de desproteccion...
-o- ActiveSheet.Unprotect "" <= FALLA
-o- ActiveSheet.Unprotect <= PREGUNTA
-o- ActiveSheet.Unprotect False <= SIEMPRE "funciona", siempre y


cuando NO se haya establecido alguna contraseña :))

_______
Saludos,
Héctor.
MS-MVP


Preguntas similares