在工作中,经常会收到这种禁止编辑和查阅公式的Excel表格。
如果希望【取消保护】,则会要求输入密码。
此时只需要在VBA编辑器里运行如下函数,即可解除全部工作表的编辑密码。
Sub UnprotectAllWorksheet()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Protect AllowFiltering:=True: ws.Unprotect
Next ws
End Sub
解除保护后效果如下:
另外需要吐槽的是,网上搜索到的另外一个常见的方法,其实并不能有效地解除保护。
因为这段代码是通过暴力枚举法,暴力尝试前11个字符仅包含字母"A"和字母"B"的密码,最后一个字符随机的12位长度密码。
例如它支持破解的密码包括:
AAAABBBBAAA5
AABAABBBBABa
BABBABBAABAx
但不能适应普通的随机密码。
错误代码截图如下: