Excel 2007 工作表忘记了密码保护怎么办
发布网友
发布时间:2022-03-25 08:42
我来回答
共1个回答
热心网友
时间:2022-03-25 10:11
Office 2007 Excel工作表保护密码忘记之解决办法
1、 打开受保护的Excel工作表(此步骤打开其他Excel文件也行,因为这里是要启用宏):
在打开的Excel文件菜单栏空白处,右键单击鼠标,选择“自定义快速访问工具栏···”,打开Excel选项窗口。
2、 在打开的Excel选项窗口中,选择“常用”一栏,再在右边框中勾中“在功能区显示”开发工具” 选项卡”
3、 点击“确定”按钮后,返回Excel工作表,这时可以在Excel工作表菜单栏中出现“开发工具”菜单项,选择“开发工具”菜单项中的“宏安全性”:
4、 打开“信任中心”窗口,选择左边栏中的“宏设置”一项,再在右边栏目中,选中“启用所有宏···”及勾中“信任对VBA工程对象模型的访问”一项,点击“确定”按钮:
5、 返回到Excel工作表,在“开发工具”菜单下,选择“录制宏”一项:
6、 在打开的“录制新宏”窗口中,在“宏名”一栏的文本框中输入名字(可以任取,这里以test为例),在“保存在”一栏的下拉列表框中,选择“当前工作簿”(其实也是可以不用选择的,但为了慎重起见还是选择),最后点击“确定”按钮:
7、 再返回到Excel工作表,此时,“开发工具“菜单项下原先的“录制宏”变为了“停止录制”,现在就点击“停止录制”,结束宏的录制,这样就可以创建一个空宏test。
8、 停止录制宏之后,再选择“宏”选项:
9、 在打开的“宏”窗口中,就会出现刚才创建的test宏,“位置”一栏选择“当前工作簿”(为了与前面相对应),然后在“宏名”下选择刚才创建的test宏,再点击右边栏目中的“编辑“选项
10、 在打开的VBAProgect工程窗口中,将此段代码复制粘贴到该模块1代码窗口下,覆盖默认的所有代码,如:
SubPasswordBreaker()
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)
ActiveWorkbook.Sheets(1).Select
Range("a1").FormulaR1C1 = 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
11、最后,点击工具栏中的保存图标,或按Ctrl+S组合键保存上面的代码,但这里会弹出一个错误提示信息:
12、出现上述提示信息,这应该是Office2007的宏安全性之类的问题,但在前面,我们已经启用了所有宏(估计那只是工作表启用了,并没有对工作簿启用所致吧!但Office 2003在启用所有宏的情况下是不会报这样的提示,针对此以下便是自己实践操作后的简述)。在上述的提示信息框中,我没有选择“是”,也没有选择“否”,而是直接关闭了该提示框,但关闭此提示框后,同样会弹出一个另存为对话框,继续选择“取消”按钮,退出Excel程序,提示是否保存更改的文件,同样选择“否”,不保存。
13、在关闭了Excel程序后,再次双击打开受保护的Excel文件,然后选择“另存为”下的“启用宏的Excel工作簿”一项:
14、打开“另存为”对话框,“保存类型”选择“启用宏的工作簿(*.xlsm),点击”保存“按钮
15、保存后,就会生成一个带有*感叹号的新Excel文件:
16、 双击打开新的Excel文件,重复步骤5至步骤11的操作,即录制新的宏并保存,此时就不会再有步骤11的提示了。保存了宏之后,再选择“开发工具”菜单项下的“宏”选项,打开“宏”窗口:
17、 在“宏”窗口中,“位置”一栏还是选择“当前工作簿”,并选择新创建的宏,然后单击右边栏目中的“执行”按钮,差不多1到2分钟时间之后,就会弹出当前受保护的工作表密码,
18、记下这个密码,然后点击“确定”按钮,关闭提示框。同时返回到打开的Excel工作表,
19、此时工作表的首行标题也变成了相对应的密码,如果有多张受保护的工作表需要解密处理,这里建议你不要保存被更改后的工作表,而是直接关闭此工作表,在弹出的提示对话框中选择“否”:
20、关闭了Excel工作表,然后再次双击打开受保护的Excel工作表,选择“审阅”菜单项,在“更改”组中,选择“撤销工作表保护”选项
21、 在打开的“撤销工作表保护”提示框中,输入刚才记下的密码,点击确定即可:
22、最后点击保存或按Ctrl+S组合键保存解密后的工作表即可,则再次打开该工作表,“审阅”菜单下的“更改”组中已经成功解密了!!!追问这种方法没办法用的,我的密码保护是不能预览的。。。你的方法只对能预览的有效果,对我这个没效果