|
|
就好像我在我英文博客提及的那样,今天我接到一个在财务部门的同事的电话,说让我帮助看一看他手头上的一个Excel文件。他想修改一下那个文件,但是所有可供修改的选项,如 Insert, Delete 等都被灰掉了。他问我是不是可能他的文件太大了,而不能够再插入新的表单了。
我要求他把那个大文件传给我,我打开一看,发现所有的 worksheets 都被保护了,这就是他不能修改的原因。我问他是谁做的这个文件,他说是一个已经离开公司的人干的。显然,我们是没有办法找到那个人得知密码了。我试了几个常见的密码,未果。 当然,我可以告诉他另生成一个新文件,然后一个一个sheet地将内容拷贝到新的文件里。不过,看在他以前“偷偷”告诉过我一两个好股票,而且他下午说他又急着要的的份上,我自告奋勇地答应给他“破解密码”试试。
你们知道的,我以前从来不在 Excel 表单里加密码,所以对此毫无知识。不过,这并不阻挡我祭用谷歌大法。果然,用 “unprotect Excel without password” 搜出一堆。意外的是,第一个链接就解决了这个问题。
根据这个作者所说,好像 Excel 里的密码可以通过一个VBA Macro 反计算出来,我已经将这个 Macro 代码附在下文。
当然,如果不想拷贝再粘帖下列代码,你也可以直接从他的网站下载一个叫 allinternalpasswords.xls 的文件,然后用你的 Excel打开。这个文件并没有什么可视的表格,但会显示一个工具栏,上只有一个按钮让你开始运行下述代码。
具体做法:先打开你忘记密码的文件,然后再打开你下载的这个解密小文件,但你看到一个警告时,则表示你的 Excel 安全设定很高。这样的话,你必须先降低你的安全设定,再重启 Excel 来重复上述过程。
如果你看见一个新的工具条,点击上面的那个 Remove Password 按钮来运行解密代码,如果你不能找到那个工具条,也没有关系,从你的菜单里找到 Macro 选项,然后从那运行下面这段解码代码。运行代码后,大概半分钟左右(决定于具体文件和密码)你就会看到你忘记的密码了。祝你好运! |
|