protejer/desprotejer 'nuestro propio' proyecto

25/03/2007 - 15:48 por Ivan | Informe spam
hola a todos,



¿sabeis si hay alguna forma via codigo de proteger/desproteger nuestro
propio pryecto, por supuesto teniendo la clave, y/o desde dentro de el
propio proyecto?
no he conseguido encontrar ningun metodo al respecto (algo parecido al
protect/unprotect de workbook) y he pensado que quizas con sendkeys, pero no
lo tengo muy claro.

y, en su defecto, ¿como podria importar componentes vb desde un proyecto
protegido, si es que es posible (de momento no lo he conseguido)?

como siempre, gracias de antemano

un saludo y hasta pronto
Ivan
 

Leer las respuestas

#1 Héctor Miguel
25/03/2007 - 20:04 | Informe spam
hola, Ivan !

sabeis si hay alguna forma via codigo de proteger/desproteger nuestro propio pryecto
por supuesto teniendo la clave, y/o desde dentro de el propio proyecto?
no he conseguido encontrar ningun metodo al respecto (algo parecido al protect/unprotect de workbook)
y he pensado que quizas con sendkeys, pero no lo tengo muy claro.
y, en su defecto, como podria importar componentes vb desde un proyecto protegido
si es que es posible (de momento no lo he conseguido)?



para copiar componentes vb desde un libro protegido [primero] deberas quitarle la proteccion :D

para quitar/poner protecciones al proyecto de macros [hasta donde se]...
1) requiere enviar una secuencia de teclas sendkeys al proyecto de macros...
[por omision] se esta afectando ->al libro activo<- [en la interfase de usuario]
2) [por lo anterior] nos 'tendremos que' asegurar de...
a) abrir el editor vba...
b) cerrar TODA 'instancia' de modulo abierto...
c) cerrar el editor de vba...
d) activar el libro 'apropiado'...
e) enviar la secuencia de teclas, para quitar/poner la [clave de] proteccion del proyecto
3) NO olvidar que, una vez desprotegido un proyecto vba... ->seguira SIN password<- [en la sesion]
aun [re]protegiendolo, sera indispensable cerrarlo y abrirlo de nuevo para que 'se active' la [re]proteccion

ejemplos del procedimiento anterior... [en un modulo de codigo estandar/general/normal/...]:

Sub Quitar_PassWord_VBA()
Application.SendKeys "%{f11}{l 4}%q", True
Workbooks("Libro X").Activate
Application.SendKeys "%{f11}^r{down}AquiTuPassWoRd~%q", True
End Sub
Sub Poner_PassWord_VBA()
Workbooks("Libro X").Activate
Application.SendKeys "%{f11}^r%hp^{pgdn}{+}{tab}AquiTuPassWoRd{tab}AquiTuPassWoRd~%q"
Workbooks("Libro X").Close True
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Preguntas similares