¿Cómo desproteger vbaproject desde código?

Mi problema es el siguiente, necesito enviar un libro con la información pero sin ningún tipo de código para lo que utilizo el siguiente módulo.


Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Set VBProj = ActiveWorkbook.VBProject
For Each VBComp In VBProj.VBComponents
If VBComp.Type = vbext_ct_Document Then
Set CodeMod = VBComp.CodeModule
With CodeMod
.DeleteLines 1, .CountOfLines
End With
Else
VBProj.VBComponents.Remove VBComp
End If
Next VBComp

Suceden dos cosas, uno que no consigue eliminar el modulo desde donde ejecute y segundo tengo VBAProject protegido con contraseña para lo que previamente a borrar los módulos ejecuto el siguiente código


Application.SendKeys "%{f11}{l 4}%q", True
Workbooks("Libro1").Activate
Application.SendKeys "%{f11}^r{down}916573274~%q", True

Pero lo que me desconcierta es que algunas veces se ejecuta sin problemas y otras en cambio no y me genera el siguiente error

se ha producido el error '50289' en tiempo de ejecución

No se puede ejecutar la operación porque el proyecto está protegido


Que ciertamente indica que no lo desprotege y no se bien cual es la razón. Agradecería me pudieran orientar sobre el problema o si hay alguna otra manera de enfocarlo.

Muchas gracias de antemano.

Añade tu respuesta

Haz clic para o