La Web del Programador: Comunidad de Programadores
 
    Pregunta:  59446 - ¿CÓMO SABER SI ALGUIEN DESPROTEGE UNA HOJA EXCEL PROTEGIDA?
Autor:  Carlos Caicedo
En la actualidad tengo unos formatos en EXCEL con funcionalidades desarrolladas en Visual Basic. Dichos formatos los utilizan otras personas para ingresar datos. La hoja está protegida con clave, pero sospecho que algunos usuarios la están desprotegiendo y luego la vuelven a proteger. Los formatos luego de que son diligenciados vuelven a mi, por lo cual he pensado que tal vez pueda darme cuenta si la desprotegen o no, tal vez registrando en una celda algún indicador en el momento en que se produzca la desprotección (algo así como un evento).

Pensé que podía tal vez lograrlo mediante alguna de las opciones de la propiedad Worksheet.Protection (como por ejemplo AllowInsertingColumns), pero dicha propiedad me indica que la hoja está protegida en todo momento ya que yo la protejo mediante el método Worksheet.Protect Password:="la clave", userinterfaceonly:=True, y sin importar que el usuario la desproteja "manualmente", la opción AllowInsertingColumns me sigue mostrando que está protegida.

Entonces, ¿De qué forma puedo lograr saber si el usuario desprotege la hoja?

Gracias por su ayuda.

  Respuesta:  Saul Garay
Buenos dias Carlos.-

Tienes 2 formas.-

1.- Ver la fecha de modificacion del archivo.
2.- Si quieres algo mas especifico, hay una opcion que tiene el excel, ubicada en herramientas, y luego escenarios, alli lo puedes programar a tu gusto, cuando cierras la hoja y la abres nuevamente ingresas a esta opcion en resumen y te da todos los datos que fueron modificados, si tus sospechas son ciertas, y la hoja la tienes vinculada con una rutina en VB, hay formas para capturar la ip, nombre de la maquina y hora de acceso.

Puedes escribirme para mayor detalle.

EXITO

SAUL GARAY