如何从Excel绕过VBA项目密码


40

在工作中完成的项目上,我需要有关密码检索或绕过密码的帮助。作者使用MS Excel进行了该项目,该项目位于客户端的服务器中。我们使用的服务器无法访问Notepad ++。


卡兰谢谢 问题不在于excel文档,但我无法查看另一位员工所做的代码。我可以通过Excel使用VB Ide
user365483'9

好的,如果Excel工作簿本身不受密码保护,而其中的VBA项目仅受密码保护,请参见下文。
卡兰

我无法安装任何十六进制编辑器,并且该文件是.xlsm文件。卡兰(Karan)如果有其他选择,那就太好了
user365483 2014年

Answers:


62

对于较旧的.XLS文件:

  1. 在任何十六进制编辑器中打开文件

  2. 搜索文本“ DPB = ”(不带引号,您应该在“ [Host Extender Info]”上方找到它)

    1个

  3. 将其更改为“ DPx = ”,保存并关闭文件

    2

  4. 如果出现以下警告,请在Excel中打开文件,然后按“是”:

    3

  5. 打开VBA编辑器(Alt+ F11),然后在以下警告弹出时按OK:

    4

  6. 右键单击VBA项目名称,选择“ 属性”,转到“ 保护”选项卡并删除现有密码,然后取消选中“ 锁定项目以查看”复选框:

    5

  7. 重新选中“ 锁定项目以供查看”复选框,然后添加您自己的难忘密码。

  8. 好的,现在可以访问VBA代码了!

对于较新的.XLSM文件:

  1. 将文件扩展名更改为.ZIP

  2. 在任何存档程序(例如WinRAR或7-Zip)中打开文件,您将看到以下目录结构:

    6

  3. 进入xl目录并解压缩vbaProject.bin

    7

  4. 使用vbaProject.bin执行上述步骤#1-3(来自“ 用于较旧的.XLS文件”部分

  5. 用新的十六进制编辑版本替换ZIP文件中的旧vbaProject.bin

  6. 将该文件的扩展名更改回.XLSM

  7. 执行上面的步骤4-7


使用旧文件的MS Office 2013是否可以使用?我有一个微软打补丁的印象。
Menelaos Bakopoulos,2015年

2
当我在Office 2010和2013中尝试此方法时,它无法直接运行。完成所有步骤之后,我无法查看宏,然后尝试将宏导出为.bas,我可以取出该宏并进行查看。
阿巴斯2015年

该软件已在Office 2010中进行了测试,这就是屏幕截图的来源。另外,对于那些无法安装十六进制编辑器的人,有很多便携式的可用。
卡兰2015年

1
也适用于.xlam文件。+1
若奥·门德斯

我遵循了所有步骤,但是在警告上单击“确定”后,我得到一个新提示,其中我的选项是“打开并修复”或“取消”。如果我点击取消,它将关闭;如果我打开并修复它,请删除所有宏。我正在使用Mac的Excel 2011。还有其他人遇到过这种情况吗?
user658182
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.