平时遇到Excel工作簿设置了密码保护,又忘记密码了,可以用以下方法去除密码

方法1:使用压缩包的方法

  1. 把Excel文件的扩展名xlsx改为rar
  2. 双击这个rar文件,打开可以看到下图的结构

image.png

  1. 找到”xl”文件夹,打开并找到”worksheets”文件夹,再打开,可以看到几个sheet名称

image.png

  1. 确认需要破解的工作表是哪个,双击打开

上面设置密码的工作表是sheet1,所以我们打开sheet1,可以看到很多字符。
image.png
不用管它,我们只需要按Ctrl+F查找,查找内容为:Protect,然后选中包含protect内容的两个符号<>(包含这两个符号)之间的内容,全部点击delete删除即可,如下图所示。
image.png

  1. 删除后,关闭文档,这时会提示我们是否更新,我们选择【是】

image.png

  1. 更新完成后,关闭压缩包,最后再把文件的后缀名,由.RAR格式更改为.xlsx格式,然后我们再打开工作簿,即可以正常编辑了。
  2. 原理

在office 2007及以上版本中,Excel的后缀名变为.xlsx,其本质是一个压缩包,构成Excel的所有源代码都在这个压缩包中,所以我们可以通过将其后缀更改为.rar,以压缩包的形式提取出里面的代码内容,并加以修改。
如果是07版本以前的.xls文件,我们只要用office 2007版或以上版本,打开此Excel表格,并另存为.xlsx文件,再使用如上操作即可
注意:如果是你的Excel打开密码,忘记了,基本破解无望了,只能搜索相关工具了。

方法2:用VBA破解

用上面的方法做的时候,大家应该发现了,我们需要找到设置密码保护的工作表,然后再把此工作表内的protect内容删除,如果只有一个那还好操作,如果一个工作簿内有多个工作表,那我们再一个个的去解除密码保护就非常慢了。
那有没有更好的方法呢?
这时就需要用到VBA了,简单两步即解除所有工作表的密码保护。

  1. 在工作表标签上右键-》查看代码

Excel密码清除 - 图6

  1. 在编辑框粘贴下面的代码
    1. Sub 密码破解()
    2. Dim pj As Worksheet
    3. For Each pj In Worksheets
    4. pj.Protect AllowFiltering:=True
    5. pj.Unprotect
    6. Next
    7. End Sub
    然后再点击上的绿色三角符号,运行按钮,这样就把所有工作表的密码去除完毕了。
    代码的含义就是遍寻每个工作表,并对每个工作表取消保护。