Serial del disco duro y "Seguridad" en Excel!

12/05/2010 - 00:03 por ElProfe | Informe spam
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

Preguntas similare

Leer las respuestas

#6 ElProfe
14/05/2010 - 02:39 | Informe spam
Saludos Héctor Miguel

clave (que estén dentro del editor de VBA) es mas que suficiente (por
ahora) ...

bueno, esto requiere trabajar un poco para encontrar lo mas sencillo posible de "mantenimiento" (para ti);



R = Definitivamente así es.

solo me quedan pocas dudas en relación con tus requerimientos en la consulta original:



==> 1) Que la primera vez que se abra el archivo (y por esa única primera vez):

a) Lea el numero del volumen del disco duro (sin dar aviso al usuario) y lo almacene en una constante de VBA

b) Solicite al usuario... el código numérico asignado al empleado y lo almacene en otra constante de VBA

c) Solicite al usuario... 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 (única para cada archivo)


==
A) las "constantes" (o variables) en vba se pierden al cerrar el
archivo (tendrá que ser por otros mecanismos)

R = Huyyy, si! Tienes toda la razón. La verdad no se si pasé por alto
ese detalle o imaginé que algunos datos “contantes” podrían ir ya
instalados en el editor de VBA.

B) en el punto c) se pierde la "continuidad" en la ejecución de las
macros (tendría que ser por un UserForm)

R = Bueno si; tienes razón; pero el procedimiento podría pasarse para
el final y que sea allí donde se le pida llenar los datos de la ficha,
de forma tal que después de diligenciar (4) Fecha de adquisición del
aplicativo y (5) Clave asignada al aplicativo, se dispare una macro
que vaya y haga la comparación de solo de esos dos elementos

C) cual es el sentido del "diligenciamiento total... datos" para
conservar SOLAMENTE el dato de la fecha (???) y toma en cuenta que los
datos de la hoja "datos" habría que controlarlos por ese formulario
(con mas códigos)

R = Bueno, porque se trata de una hoja en la cual se almacenan una
generalidad de “Datos de la empresa usuraria de la
aplicación:” [(1) Razón social; (2) Código de la empresa; (3) Ciudad;
(4) Fecha de adquisición del aplicativo; (5) Clave asignada al
aplicativo:]

D) como se determinaría (y para que se usaría posteriormente) la
"clave cualquiera única" para cada archivo (???) (considerando que ya
tienes el serial de disco {+} el código del empleado {+} la fecha de
inicio -?-)

R = Bueno, Había en que a cada uno de los archivos le puedo colocar en
el editor de VBA algo así como…
ClaveUnica = “XYZA0-OPAB3-LMNC5
…pensando en que al instalar el aplicativo, esa clave se entrega por
separado para que el mismo usuario al digite en la Ficha de Datos la
primera vez que abra el archivo, de tal forma que se pueda comparar en
algún momento…

ClaveUnica = ClaveEnFichaDatos

Algo similar tengo en mi “borrador mental” con “la fecha de inicio”

El serial de disco {+} el código del empleado, definitivamente
tendrían que ir en una hoja oculta y de allí se tomarían los últimos
datos registrados para compararlos con los que reúna VBA al momento de
abrir el archivo

Gracias de nuevo por tu interés y ayuda.

Saludos,

Manuel
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida