** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Quitar protección en Proyecto VBA
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoQuitar protección en Proyecto VBA

 Responder Responder
Autor
Mensaje
Elisa Ver desplegable
Habitual
Habitual
Avatar

Unido: 21/Mayo/2009
Localización: España
Estado: Sin conexión
Puntos: 87
Enlace directo a este mensaje Tema: Quitar protección en Proyecto VBA
    Enviado: 26/Marzo/2010 a las 10:40
Hola,
 
Esto sería una continuación del mensaje "Programar VBA mediante VBA"
 
 
Tengo ya una macro que abre todos los archivos de un directorio y sustituye una serie de módulos y formularios importándolos.
 
El problema que tengo es que los archivos a modificar tienen el código protegido (mediante Herramientas -> Propiedades VBA Project -> Protección -> Contraseña...)
 
Entonces al acceder al proyecto mediante la macro
 
        Set VBComps = Workbooks(StrArchivo).VBProject.VBComponents
Me dice que el proyecto está protegido y no puedo acceder.
 
El archivo es mío y yo tengo el código para desprotegerlo, pero ¿puedo hacerlo mediante algún comando VBA?
 
Gracias
 
Arriba
Jordi-Albert Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Abril/2006
Localización: Alemania
Estado: Sin conexión
Puntos: 4315
Enlace directo a este mensaje Enviado: 26/Marzo/2010 a las 10:49
por razones obvias no se puede (que yo sepa) hacer

pero siempre puedes bajar los permisos (que no te lo aconsejo) o firmar digitalmente tus proyectos... con lo que deberías poder efectuar las modificaciones correspondientes


ups!!
edito: lo que intentas es desprotoger el codigo por ti protejido....

me lo miro e intento decirte algo más tarde

Editado por Jordi-Albert - 26/Marzo/2010 a las 10:50
Arriba
Elisa Ver desplegable
Habitual
Habitual
Avatar

Unido: 21/Mayo/2009
Localización: España
Estado: Sin conexión
Puntos: 87
Enlace directo a este mensaje Enviado: 29/Marzo/2010 a las 14:32
Hola
 
Encontré la solución, mediante SedKeys:
 
If Workbooks(StrArchivo).VBProject.Protection = vbext_pp_locked Then
      Workbooks(StrArchivo).Activate
       'send the password (in this case "Test", and two times "Enter",
       'and make sure sendkeys send the keys to the correct window...
       Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
        SendKeys "Test~~", True
End If
Gracias y saludos
 
Elisa


Editado por Elisa - 29/Marzo/2010 a las 14:33
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable