Removendo a senha de um projeto VBA
-
07-07-2019 - |
Pergunta
Como posso programaticamente remover uma senha (conhecido) a partir de um projeto do Excel VBA?
Para ser claro:. Eu quero remover a senha do projeto VBA, não o livro ou qualquer planilhas
Solução
Isto tem um método simples usando SendKeys para desproteger o projeto VBA. Isto levá-lo para o projeto, então você teria que continuar usando SendKeys para descobrir uma maneira de remover a proteção por senha: http://www.pcreview.co.uk/forums/thread-989191.php
E aqui está um que usa um método mais avançado, um pouco mais de confiança para desproteger. Mais uma vez, ele só irá desbloquear o projeto VB para você. http://www.ozgrid.com/forum/showthread.php?t = 13006 & page = 2
Eu não tentei qualquer método, mas isso pode poupar algum tempo se é o que você precisa fazer ...
Outras dicas
Outra forma de remover a senha do projeto VBA é;
- arquivo xls aberto com um editor hexadecimal. (Ie. Hex Editar http://www.hexedit.com/ )
- Procure DPB
- Substitua DPB para DPx
- Salve o arquivo.
- Abrir arquivo em Excel.
- Clique em "Sim" se tiver qualquer caixa de mensagem.
- Definir nova senha de propriedades do projeto VBA.
- Feche e arquivo novamente aberta, em seguida, digite sua nova senha para desproteger.
UPDATE: para o Excel 2010 (Works para MS Office Pro Plus 2010 [14.0.6023.1000 64bit]),
- Abra o arquivo XLSX com 7zip
Se pasta de trabalho está protegida:
- Procure a pasta
xl
- Se a pasta de trabalho está protegido, clique
workbook.xml
direito e selecione Editar - Encontre a parte
<workbookProtection workbookPassword="XXXX" lockStructure="1"/>
(XXXX
é sua senha criptografada) - parte Remove
XXXX
. (Ie.<workbookProtection workbookPassword="" lockStructure="1"/>
) - Salve o arquivo.
- Quando 7zip pede-lhe para atualizar o arquivo, dizer Sim .
- Fechar 7zip e re-aberto seu XLSX.
- Clique em Proteger pasta de trabalho sobre a revisão guia .
- Opcional:. Salvar seu arquivo
Se planilhas são protegidos:
- Procure a pasta
xl/worksheets/
. - clique com o botão direito do
Sheet1.xml
,sheet2.xml
, etc e selecione Editar . - Encontre a parte
<sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />
- Remova a senha criptografada (ie.
<sheetProtection password="" sheet="1" objects="1" scenarios="1" />
) - Salve o arquivo.
- Quando 7zip pede-lhe para atualizar o arquivo, dizer Sim .
- Fechar 7zip e re-aberto seu XLSX.
- Clique em desproteger folha na revisão .
- Opcional:. Salvar seu arquivo
Eu encontrei outra maneira de resolver este a senha evitar de Projeto VBA, com a perder a senha excel.
uso Hex-editor XVI32 para o processo
Se o tipo de arquivo é arquivos xlsm:
- Abra o arquivo XLSM com 7-Zip (clique direito -> 7-Zip -> Abrir arquivo).
- Copie o xl / arquivo vbaProject.bin fora do arquivo (você pode arrastar e soltar a partir de 7-Zip), não feche 7-Zip
- Abra o arquivo vbaProject.bin com HexEdit
- Pesquise "DPB =" e substituí-la por "DPx ="
- Salve o arquivo
- Copie este arquivo de volta para 7-Zip (novamente, arrastar e soltar obras)
- Abra o arquivo XLSX no Excel, se for solicitado a "Continuar carregar projecto", clique em Sim. Se solicitado com erros, clique em OK.
- Pressione Alt + F11 para abrir o editor VBA.
- Embora imprensa que irá mostrar erro “Erro inesperado (40230)”, basta clicar em OK (6 ou 7 vezes) até que ele vai embora.
- Em seguida, ele irá abrir automaticamente
Eu encontrei este aqui que descreve como definir a senha do projeto VBA. Você deve ser capaz de modificá-lo para retirar a senha do projeto VBA.
Este não usa SendKeys.
Deixe-me saber se isso ajuda! JFV