Saludos a todos los participantes del foro.
Hablar de "seguridad" para la proteger archivos de Excel (mejor dicho,
de Oficce en general), es apenas un mero "sofisma de distracción".
Que se sepa, ni el mismo Microsoft (ni otras muchas importantes casas
de software) ha podido (en mi sentir) hablar de "seguridad absoluta",
conisderando los multimullonarios recursos invertidos en el tema
(dinero, investigadores, etc.)
Colocarle password ó seguridad a una hoja o a un archivo de Excel, en
la realidad es más bien como aprovecharse de la ignorancia
generalizada en estos temas de una gran cantidad de usuarios de las
hojas electrónicas, desde luego incluido quien escribe (yo!).
No se de donde aparecen los llamados "craqueadores", ni en donde se
capacitan o forman.
Pero y con todo la desilusión que pueda causar mi comentario, sigo
insistiendo en hacerle un poco mas dificil la cosa a los que saben de
claves de seguridad y password de Oficce.
En esta oportunidad quiero solicitar la amable ayuda de quienes
manejan el tema, y el apoyo y solidaridad de quienes tienen la misma
necesidad mía.
Tengo un archivo en Excel instalado en varias estaciones de trabajo y
quisiera que cada archivo estuviera anclado (o amarrado) al serial del
disco duro de cada pc y con todo y que miré las diferentes sugerencias
y soluciones de varios colaboradores del foro, "no fui capaz" de
adaptar ningún código a mi necesidad especifica, que es la siguiente:
1) Que la primera vez que se abra el archivo (y por esa única primera
vez):
a) Lea el número del volumen del disco duro (sin dar aviso al
usuario) y lo almacene en una constante de VBA
b) Solicite al usuario, mediante un MsgBox (o caja de dialogo), el
código numérico asignado al empleado y lo almacene en otra constante
de VBA
c) Solicite al usuario, mediante un MsgBox (o caja de dialogo), el
diligenciamiento total de la información solicitada en una hoja
denominada "Datos" y almacene en constantes VBA solamente el dato
correspondiente a la fecha de inicio de trabajo del archivo y una
clave cualquiera asignada (unica para cada archivo).
2) Que las siguientes veces que se abra el archivo, proceda como así:
a) Que solicite, un MsgBox (o caja de dialogo), el código numérico
asignado al empleado y lo compare con el almacenado en la constante de
VBA del literal 1b)
Verdadero = Si corresponde al almacenado en 1b), que pase a evaluar
2b)
Falso = Si NO corresponde al almacenado en 1b), que lo haga saber en
un mensaje de texto y permita una segunda oportunidad por si hubo un
error al digitarlo.
b) Que lea automáticamente el número del volumen del disco duro (sin
dar aviso al usuario) y lo compare con el almacenado en la constante
de VBA 1a)
Verdadero = Si corresponde al almacenado en 1a), que pase a evaluar
2c)
Falso = Si NO corresponde al almacenado en 1a), que lo haga saber en
un mensaje de texto.
c) Que lea automáticamente la fecha de inicio de trabajo del archivo
y la clave cualquiera asignada (unica para cada archivo).de la
información de la hoja "Datos" (sin dar aviso al usuario) y los
compare con los almacenados en las constantes de VBA 1ca) y 1cb)
Verdadero = Si corresponde al almacenado en 1ca) y 1cb) , que pase a
evaluar 2c)
Falso = Si NO corresponde al almacenado en 1ca) y 1cb), que lo haga
saber en un mensaje de texto y cierre el archivo!
Donde se debería colocar este código:
a) En el editor VBA de una hoja?
b) En el editor VBA de ThisWorkbook?
c) En el editor VBA de un módulo?
Gracias por el interés en el tema y por la ayuda que me puedan
brindar.
Saludos,
ElProfe
Leer las respuestas