Impedir uso sin macros

12/01/2005 - 21:15 por Charly | Informe spam
Hola a todos,
Tengo una hoja que segun los datos que se introducen, por medio de macros,
se actualizan otras hojas. Todo funciona perfectamente hasta que alguien, al
abrir el libro,le dice que no habilite las macros. ¿se puede impedir el que
modifiquen una hoja si no estan habilitadas las macros?

Gracias de antemano

Preguntas similare

Leer las respuestas

#1 KL
12/01/2005 - 21:58 | Informe spam
Charly,

A ver si te sirve esto:

http://groups.google.es/groups?hl=e...amp;rnum=2

Saludos,
KL

"Charly" wrote in message
news:uNuEwNO%
Hola a todos,
Tengo una hoja que segun los datos que se introducen, por medio de
macros, se actualizan otras hojas. Todo funciona perfectamente hasta que
alguien, al abrir el libro,le dice que no habilite las macros. ¿se puede
impedir el que modifiquen una hoja si no estan habilitadas las macros?

Gracias de antemano

Respuesta Responder a este mensaje
#2 Héctor Miguel
12/01/2005 - 22:40 | Informe spam
hola, chicos !

Charly escribio en el mensaje...
... ¿se puede impedir el que modifiquen una hoja si no estan habilitadas las macros?

KL escribio en el mensaje...
A ver si te sirve esto: [...]





[yo creo que] cuando hablamos de algun 'sistema de proteccion'...
[ya iras 'viendo' que...] se encuentran mas 'imponderables' que los intentos de 'prevenirlos' :(
[p.ej.] el codigo que encontro KL...
y... ¿que tal si la hojas son mostradas por 'otro codigo malicioso'? [incluso 'desde otro libro']

otra alternativa pudiera ser el codigo que te expongo al final del presente.
=>TENDRAS QUE aplicar una clave de proteccion [tambien] al proyecto de macros <= OJO
[si tus necesidades 'van mas alla'... visita: http://www.sistemaslym.net/vba/excel/exarc1.html]

saludos,
hector.
en el modulo de codigo del libro [ThisWorkbook] ==Dim Clave As String
Private Sub Workbook_Open()
Clave = "tumbaloflesicodelicomicoso" '<= pon aqui una clave 'dificil'
With ThisWorkbook
.Unprotect Clave
Windows(.Name).Visible = True
End With
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook
Windows(.Name).Visible = False
.Protect Clave, True, True
.Save: .Close
End With
End Sub
Respuesta Responder a este mensaje
#3 KL
12/01/2005 - 23:20 | Informe spam
HM,

"Héctor Miguel" wrote in message...
y... ¿que tal si la hojas son mostradas por 'otro codigo malicioso'?
[incluso 'desde otro libro']



Pues creo q con tu codigo estamos en las mismas. Pienso sinceramente q el q
sea capaz de mostrar las hojas "por 'otro codigo malicioso'? [incluso 'desde
otro libro']" sera capaz de burlar ambas protecciones. He tardado 30
segundos en romper la contrasena (solo por q el macro escanea todas las
contrasenas posibles en el libro, de lo contrario habria tardado 10
segundos) y 1 segundo en visualizar el fichero. Asi q la conclusion podria
ser q la proteccion q ofrece Excel en este caso es contra errores y no el
uso malicioso.

De todas formas creo q tu codigo es mas "guapo" :-) y desde luego mas corto,
pero carece de un mensaje q ayude al usuario a rectificar el error. Por lo
tanto creo q habria q anadir algun msgbox.

Saludos,
KL
Respuesta Responder a este mensaje
#4 Héctor Miguel
13/01/2005 - 06:15 | Informe spam
hola, KL !

[comenzando por el final...]
... la conclusion ... la proteccion q ofrece Excel ... es contra errores y no el uso malicioso.


=> [totalmente...] ¡ de acuerdo !!! :((
[y... esta comentado en el articulo Y en el mensaje de mi respuesta] ;)

... 30 segundos en romper la contrasena ... 1 segundo en visualizar el fichero.


=> sin considerar que en el mismo articulo 'se proveen' las contraseñas que usa el fichero... ;)

el q sea capaz de mostrar las hojas ... sera capaz de burlar ambas protecciones.


=> [aqui creo no equivocarme si comento que...] se 'espera' que el usuario 'comun'...
NO 'cuente' con las herramientas/habilidades 'mas alla' de lo indispensable
=> en cuando a lo de 'mostrar las hojas'... no le veo problemas para 'impedirselo' ;)
=> en cuanto a lo segundo... [me reservo por el momento] :))

... tu codigo es ... mas corto, pero carece de un mensaje q ayude ... a rectificar el error [...]


=> considera que ha sido [solamente] una 'propuesta' [como todo en estos foros]
toda 'mejora/adicion' es siempre bienvenida [sobre todo por quien formula la consulta]

... creo q con tu codigo estamos en las mismas.


=> [sinceramente] creo que el tiempo que 'tomaste para analizar' el archivo y [sobre todo] el articulo...
[probablemente] no te ha permitido 'ver mas alla' [en cuanto a posibilidades 'no comentadas´]
recuerda que son [solamente algunos] trucos 'combinables' [creo que 'la idea es clara']
[me reservo tambien la 'continuacion'] :))

[finalmente] debo 'insistir' en lo siguiente...
partiendo de que [en excel] la seguridad 'parece' NO ser [hasta ahora] una prioridad 'que limite'... solo 'nos queda'...
seguir buscando formas 'alternas' o desarrollar nuestras 'propias aplicaciones' [en lenguajes 'primarios' de programacion] :))
=> 'reza' un dicho: 'para uno que madruga... otro que no duerme' <= es decir, que siempre habra 'alguien' ...
[para mal]... tratando de 'tomar prestada' la tecnologia de los demas :((
[para bien]... 'tratando' de 'hacerles la labor' -cada vez mas- 'dificil' :))

saludos,
hector.
Respuesta Responder a este mensaje
#5 KL
13/01/2005 - 11:18 | Informe spam
HM,

Creo q estamos de acuerdo en todo, pero solo unos comentarios.

"Héctor Miguel" wrote in message...
... 30 segundos en romper la contrasena ... 1 segundo en visualizar el
fichero.


=> sin considerar que en el mismo articulo 'se proveen' las contraseñas
que usa el fichero... ;)



tienes razon - debi haber tardado menos en copiar y pegar la contrasena
desde tu mensaje al fichero :) Hablando en serio, como entenderas, por ser
un experimento pretendi desconocer la contrasena.

... creo q con tu codigo estamos en las mismas.


=> [sinceramente] creo que el tiempo que 'tomaste para analizar' el
archivo y [sobre todo] el articulo...
[probablemente] no te ha permitido 'ver mas alla' [en cuanto a
posibilidades 'no comentadas´]
recuerda que son [solamente algunos] trucos 'combinables' [creo que
'la idea es clara']
[me reservo tambien la 'continuacion'] :))



No estoy seguro de si entiendo a q viene el comentario de "el tiempo que
'tomaste para analizar' ...no te ha permitido 'ver mas alla'". No estaba yo
comparando todas las posibles soluciones no comentadas, sino los dos codigos
concretos posteados en este hilo.
Sigo creyendo que el nivel de seguridad q ofrecen los dos codigos comentados
es +/- el mismo. Analice el articulo de principio a final antes de
postearlo. No he buscado mas soluciones en el archivo por dos razones
basicas:
1. desde el principio me decante por ofrecer una solucion que ya habia
utilizado en el pasado, y como no podia encontrar el codigo en mi maquina lo
fui a buscar en la web.
2. supuse q para OP las posibilidades de utilizar recursos no Excel deberian
ser limitadas y como ya se ha dicho aqui: usando exclusivamente los medios
de Excel la proteccion es muy relativa, pense q la solucion discutida en el
articulo deberia ser suficiente para este caso.

Resumiendo: Tal como ya hemos comentado solo podemos pretender evitar
errores por parte del usuario y no impedir q fuerce la proteccion en caso de
q se lo plantee. Asi q creo q hay poco sentido en buscar soluciones mas
sofisticadas o combinadas o lo q sea si las q se han ofrecido ya consiguen
el objetivo (si es q no nos equivocamos respecto al objetivo).

Un saludo,
KL
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida