Como ignorar a senha do projeto VBA do Excel

40

Preciso de ajuda para recuperar a senha ou ignorá-la em um projeto que foi realizado no trabalho. O autor usou o MS Excel para fazer o projeto e está no servidor do cliente. O servidor que usamos não tem acesso ao Notepad ++.

user365483
fonte
Karan obrigado. O problema não estava no documento do Excel, mas não consigo visualizar o código que foi feito por outro funcionário. É sobre o VB IDE que eu posso usar através de excel
user365483
Ok, se a pasta de trabalho do Excel em si não estiver protegida por senha e apenas o projeto VBA interno estiver, veja abaixo.
Karan
Não consigo instalar nenhum editor hexadecimal e o arquivo é um arquivo .xlsm. Karan Eu seria bom se houver uma alternativa
user365483

Respostas:

62

Para arquivos .XLS mais antigos:

  1. Abrir arquivo em qualquer editor hexadecimal

  2. Procure o texto " DPB = " (sem aspas, você deve encontrá-lo logo acima de "[Informações do Host Extender]"

    1

  3. Altere para " DPx = ", salve e feche o arquivo

    2

  4. Abra o arquivo no Excel e pressione Sim se o seguinte aviso aparecer:

    3

  5. Abra o editor VBA ( Alt+ F11) e pressione OK sempre que o seguinte aviso aparecer:

    4

  6. Clique com o botão direito do mouse no nome do projeto VBA, selecione Propriedades , vá para a guia Proteção e exclua as senhas existentes, além de desmarcar a caixa de seleção Bloquear projeto para exibição :

    5

  7. Marque novamente a caixa de seleção Bloquear projeto para exibição e adicione sua própria senha memorável.

  8. OK, e agora o código VBA está acessível!

Para arquivos .XLSM mais recentes:

  1. Altere a extensão do arquivo para .ZIP

  2. Abra o arquivo em qualquer arquivador, como WinRAR ou 7-Zip, e você verá a seguinte estrutura de diretórios:

    6

  3. Vá para o diretório xl e extraia o vbaProject.bin :

    7

  4. Execute os passos # 1-3 acima ( da Para arquivos .XLS mais velhos seção ) com vbaProject.bin

  5. Substitua o vbaProject.bin antigo no arquivo ZIP pela nova versão editada em hexadecimal

  6. Altere a extensão do arquivo novamente para .XLSM

  7. Execute as etapas # 4-7 acima

Karan
fonte
Isso funciona para o MS office 2013 com os arquivos mais antigos? Tenho a impressão de que a Microsoft corrigiu isso.
Menelaos Bakopoulos
2
Quando tentei esse método no Office 2010 e 2013, ele não funcionou diretamente. Depois de seguir todas as etapas, não consegui visualizar as macros e tentei exportar a macro como .bas, consegui extrair a macro e visualizá-la.
Abbas
Isso foi testado com o Office 2010 e é daí que as capturas de tela são. Além disso, para aqueles que não podem instalar um editor hexadecimal, há muitos disponíveis para uso portátil.
Karan
1
Funciona para arquivos .xlam também. +1
João Mendes
Eu segui todas as etapas, mas depois de pressionar OK no aviso, recebo um novo prompt em que minhas opções são "abrir e reparar" ou "cancelar". Se eu apertar cancelar, ele fecha; se eu abrir e reparar, exclua todas as macros. Estou usando o Excel 2011 para Mac. Alguém mais encontrou isso e existe uma solução alternativa?
User658182