1. 程式人生 > >Excel 撤消工作表保護密碼

Excel 撤消工作表保護密碼

Excel表格密碼保護的解除方法
表格受密碼保護時,我們修改資料Excel彈出“您試圖更改的單元格或圖表受保護,因而是隻讀的。若要修改受保護單元格或圖表,請先使用‘撤消工作表保護’命令(在‘審閱’選項卡的‘更改’組中)來取消保護。可能會提示您輸入密碼。這時候我們可以用VBA巨集程式碼破解法來破解表格保護密碼:

第一步:開啟該檔案,先解除預設的“巨集禁用”狀態,方法是點選工具欄下的“選項”狀態按鈕,開啟“Microsoft Office安全選項”視窗,選擇其中的“啟用此內容”,“確定”。再切換到“檢視”選項卡,點選“巨集”→“錄製巨集”,出現“錄製新巨集”視窗,在“巨集名”定義一個名稱為:PasswordBreaker,點選“確定”退出;

第二步:再點選“巨集”→“檢視巨集”,選擇“巨集名”下的“PasswordBreaker”並點選“編輯”,開啟“Microsoft 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)
  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

第三步:再點選“巨集”→“檢視巨集”,選擇“巨集名”下的“PasswordBreaker”並點選“執行”,密碼就現形了
第四步:點選“撤消工作表保護”,然後輸入密碼即可解除鎖定;

測試結果,密碼破解可用,但是破解的密碼跟原來的密碼有很大的差距,反正能用就好。