如何去掉Excel加密:详细步骤与注意事项

一、了解Excel加密类型

Excel的加密主要有三种:打开密码(限制文件访问)、工作表保护密码(限制编辑特定工作表)、工作簿结构保护密码(限制移动、删除工作表等)。移除方法因类型而异。

二、移除打开密码

  1. 使用密码打开文件,输入正确密码进入编辑模式。
  2. 点击“文件” > “信息” > “保护工作簿” > “用密码进行加密”。
  3. 在弹出的对话框中清空密码框,点击“确定”。
  4. 保存文件(Ctrl+S),密码即被移除。

若忘记密码,常规方法无法解除,需借助第三方工具或回忆密码。⚠️ 无密码强行破解可能违反法律或使用条款。

三、移除工作表保护密码

  1. 右键点击受保护的工作表标签,选择“取消保护工作表”。
  2. 输入密码(若知道)。
  3. 若忘记密码,可使用VBA代码暴力破解(仅限低版本Excel)。

VBA移除示例:按下Alt+F11打开VBA编辑器,插入模块,粘贴以下代码:

Sub RemoveSheetProtection()
    Dim i As Integer, j As Integer, k As Integer
    Dim l As Integer, m As Integer, n As Integer
    Dim o As Integer, p As Integer, q As Integer
    Dim r As Integer, s As Integer, t As Integer
    Dim u As Integer, v As Integer, w As Integer
    Dim x As Integer, y As Integer, z 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 n = 65 To 66
    For o = 65 To 66: For p = 65 To 66: For q = 65 To 66
    For r = 65 To 66: For s = 65 To 66: For t = 65 To 66
    For u = 65 To 66: For v = 65 To 66: For w = 65 To 66
    For x = 65 To 66: For y = 65 To 66: For z = 65 To 66
    ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
        Chr(l) & Chr(m) & Chr(n) & Chr(o) & Chr(p) & _
        Chr(q) & Chr(r) & Chr(s) & Chr(t) & Chr(u) & _
        Chr(v) & Chr(w) & Chr(x) & Chr(y) & Chr(z)
    If ActiveSheet.ProtectContents = False Then
        MsgBox "破解成功!密码为:" & Chr(i) & Chr(j) & _
            Chr(k) & Chr(l) & Chr(m) & Chr(n) & _
            Chr(o) & Chr(p) & Chr(q) & Chr(r) & _
            Chr(s) & Chr(t) & Chr(u) & Chr(v) & _
            Chr(w) & Chr(x) & Chr(y) & Chr(z)
        Exit Sub
    End If
    Next: Next: Next: Next: Next: Next
    Next: Next: Next: Next: Next: Next
    Next: Next: Next: Next: Next: Next
End Sub

运行宏,代码尝试所有可能的组合(仅大小写字母),可能耗时较长。适用于简单密码。

四、移除工作簿结构保护密码

步骤类似:

  1. 点击“审阅” > “保护工作簿” > “保护结构和窗口”。
  2. 输入密码(若知道)并取消勾选,或清空密码框。
  3. 若忘记密码,可使用VBA代码(类似工作表保护,但对象为工作簿)。

使用以下VBA代码解除工作簿结构保护:

Sub UnprotectWorkbook()
    Dim i As Integer, j As Integer, k As Integer
    Dim l As Integer, m As Integer, n As Integer
    Dim o As Integer, p As Integer, q As Integer
    Dim r As Integer, s As Integer, t As Integer
    Dim u As Integer, v As Integer, w As Integer
    Dim x As Integer, y As Integer, z 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 n = 65 To 66
    For o = 65 To 66: For p = 65 To 66: For q = 65 To 66
    For r = 65 To 66: For s = 65 To 66: For t = 65 To 66
    For u = 65 To 66: For v = 65 To 66: For w = 65 To 66
    For x = 65 To 66: For y = 65 To 66: For z = 65 To 66
    ActiveWorkbook.Unprotect Chr(i) & Chr(j) & Chr(k) & _
        Chr(l) & Chr(m) & Chr(n) & Chr(o) & Chr(p) & _
        Chr(q) & Chr(r) & Chr(s) & Chr(t) & Chr(u) & _
        Chr(v) & Chr(w) & Chr(x) & Chr(y) & Chr(z)
    If ActiveWorkbook.ProtectStructure = False Then
        MsgBox "破解成功!密码为:" & Chr(i) & Chr(j) & _
            Chr(k) & Chr(l) & Chr(m) & Chr(n) & _
            Chr(o) & Chr(p) & Chr(q) & Chr(r) & _
            Chr(s) & Chr(t) & Chr(u) & Chr(v) & _
            Chr(w) & Chr(x) & Chr(y) & Chr(z)
        Exit Sub
    End If
    Next: Next: Next: Next: Next: Next
    Next: Next: Next: Next: Next: Next
    Next: Next: Next: Next: Next: Next
End Sub

五、注意事项

  • VBA破解仅适用于简单密码(大小写字母组合),对复杂密码无效。
  • 高版本Excel(2013+)加密强度提高,VBA方法可能失败。
  • 请确保您有合法权限移除密码,避免侵犯他人权益。
  • 对于重要文件,建议先备份。

六、总结

去除Excel加密的最可靠方法是使用已知密码。若密码丢失,VBA代码提供一种补救措施,但成功率有限。对于安全性要求高的文件,请寻求专业数据恢复服务。