Como posso remover programmaticamente uma senha (conhecida) de um projeto Excel VBA?
Para ser claro: eu quero remover a senha do Projeto VBA, não a pasta de trabalho ou qualquer folha de trabalho.
Outra maneira de remover a senha do projeto VBA é;
UPDATE: Para Excel 2010 (Funciona para MS Office Pro Plus 2010 [14.0.6023.1000 64bit]),
Se o livro de exercícios estiver protegido:
workbook.xml
e selecione **Editar***.<workbookProtection workbookPassword="XXXX" lockStructure="1"/>
(XXXX
é a sua senha encriptada)XXXX
. (ou seja, <workbookProtection workbookPassword="" lockStructure="1"/>
)Se as folhas de trabalho estiverem protegidas:
xl/worksheets/
.Sheet1.xml
, sheet2.xml
, etc e selecione **Editar***.<sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />
<sheetProtection password="" sheet="1" objects="1" scenarios="1" />
)Isto tem um método simples usando o SendKeys para desproteger o projeto VBA. Isto o colocaria no projeto, então você'teria que continuar usando o SendKeys para descobrir uma maneira de remover a proteção por senha: http://www.pcreview.co.uk/forums/thread-989191.php
E aqui's um que usa um método mais avançado, um pouco mais confiável para desproteger. Mais uma vez, ele só vai desbloquear o projeto VB para você. http://www.ozgrid.com/forum/showthread.php?t=13006&page=2
Eu não tentei nenhum dos métodos, mas isto pode poupar-lhe algum tempo se'é o que precisa de fazer...