¿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.