如果Excel设置了保护并且忘记了密码或者不知道密码,是不允许修改内容的。下面介绍两种方式来修改带有保护的Excel。
1、通过修改文件后缀名来删除密码保护。
如果文件后缀名为xls,则需要先把文件另存为xlsx。不要直接修改文件后缀名,而是要通过另存为方式,选择xlsx文件。
当文件后缀名为xlsx时,直接通过修改文件后缀名为zip文件。
然后通过压缩软件打开该文件,并进入如下目录。
如果有多个sheet页签,这里会有多个文件,我们需要修改每个文件。
选中某个文件,点击鼠标右键选择用记事本打开。
可以使用搜索找到sheetProtection字样的地方,如上图红线部分,然后删除。注意要从 结束。
如果想要在修改完Excel后还想恢复密码保护,需要把这段代码记录下来。
删除后,保存文件。
出现该界面后需要点击确认按钮。
然后关闭压缩软件。
直接修改文件后缀名,修改为xlsx。
然后再打开excel,就可以编辑了。
编辑完后,如果想要恢复密码保护,则重复上述步骤,并把刚才删除的代码再恢复回来就可以了。
2、使用VBA代码获取访问权限。只支持xls。
如果为xlsx,需要另存为xls。
直接打开Excel文件,然后使用快捷键ALT + F11,打开Visual Basic编辑器。
选择菜单 插入-》模块
在上图红框内输入如下代码
Sub PasswordBreaker()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox “One usable password is ” & Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
然后再按 F5,执行代码。
看到此弹窗后表明也可以修改Excel。注意该密码并不是原来的密码,但你可以使用该密码来修改Excel。