首页 > 电脑专区 > 电脑教程 >

Excel2013工作表忘记保护密码的使用方法

来源:互联网 2023-02-21 22:27:57 450

最近做项目,一个关键的表格资料由于文档保护无法使用,经过研究,总结一下一种用VBA来处理密码的方法,希望大家用到正途,不要搞一些歪门邪道。hFm办公区 - 实用经验教程分享!

工具/原料

  • Excel 2013
  • 受保护的Excel文档

方法/步骤

  • 1

    ① 我们启动Excel2013,打开被保护的工作簿,发现有用的数据无法选择。具体发现,是文档被加密进行保护了。hFm办公区 - 实用经验教程分享!

    Excel2013工作表忘记保护密码的使用方法hFm办公区 - 实用经验教程分享!

    Excel2013工作表忘记保护密码的使用方法hFm办公区 - 实用经验教程分享!

  • 1此文章未经许可获取自百度经验
  • 2

    ② 打开工具栏中的视图工具,选择最右侧的宏,选择其下的录制宏,名字随便取就行。其他不用管,然后选择“确定”。hFm办公区 - 实用经验教程分享!

    Excel2013工作表忘记保护密码的使用方法hFm办公区 - 实用经验教程分享!

    Excel2013工作表忘记保护密码的使用方法hFm办公区 - 实用经验教程分享!

  • 3

    ③ 选择宏下面的“停止录制”。然后选择“查看宏”,当前宏,进行编辑。hFm办公区 - 实用经验教程分享!

    Excel2013工作表忘记保护密码的使用方法hFm办公区 - 实用经验教程分享!

    Excel2013工作表忘记保护密码的使用方法hFm办公区 - 实用经验教程分享!

    Excel2013工作表忘记保护密码的使用方法hFm办公区 - 实用经验教程分享!

  • 4

    ④ 在打开的VB编程窗口下,在右侧的代码输入框中将所有内容用下列代码代替。hFm办公区 - 实用经验教程分享!

    =========请复制以下内容=============hFm办公区 - 实用经验教程分享!

    Public Sub 工作表保护密码破解()Const DBLSPACE As String = vbNewLine & vbNewLineConst AUTHORS As String = DBLSPACE & vbNewLine & _"作者:McCormick JE McGimpsey "Const HEADER As String = "工作表保护密码破解"Const VERSION As String = DBLSPACE & "版本 Version 1.1.1"Const REPBACK As String = DBLSPACE & ""Const ZHENGLI As String = DBLSPACE & " hfhzi3—戊冥 整理"Const ALLCLEAR As String = DBLSPACE & "该工作簿中的工作表密码保护已全部解除!!" & DBLSPACE & "请记得另保存" _& DBLSPACE & "注意:不要用在不当地方,要尊重他人的劳动成果!"Const MSGNOPWORDS1 As String = "该文件工作表中没有加密"Const MSGNOPWORDS2 As String = "该文件工作表中没有加密2"Const MSGTAKETIME As String = "解密需花费一定时间,请耐心等候!" & DBLSPACE & "按确定开始破解!"Const MSGPWORDFOUND1 As String = "密码重新组合为:" & DBLSPACE & "$$" & DBLSPACE & _"如果该文件工作表有不同密码,将搜索下一组密码并修改清除"Const MSGPWORDFOUND2 As String = "密码重新组合为:" & DBLSPACE & "$$" & DBLSPACE & _"如果该文件工作表有不同密码,将搜索下一组密码并解除"Const MSGONLYONE As String = "确保为唯一的?"Dim w1 As Worksheet, w2 As WorksheetDim i As Integer, j As Integer, k As Integer, l As IntegerDim m As Integer, n As Integer, i1 As Integer, i2 As IntegerDim i3 As Integer, i4 As Integer, i5 As Integer, i6 As IntegerDim PWord1 As StringDim ShTag As Boolean, WinTag As BooleanApplication.ScreenUpdating = FalseWith ActiveWorkbookWinTag = .ProtectStructure Or .ProtectWindowsEnd WithShTag = FalseFor Each w1 In WorksheetsShTag = ShTag Or w1.ProtectContentsNext w1If Not ShTag And Not WinTag ThenMsgBox MSGNOPWORDS1, vbInformation, HEADERExit SubEnd IfMsgBox MSGTAKETIME, vbInformation, HEADERIf Not WinTag ThenElseOn Error Resume NextDo 'dummy do loopFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126With ActiveWorkbook.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 .ProtectStructure = False And _.ProtectWindows = False ThenPWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)MsgBox Application.Substitute(MSGPWORDFOUND1, _"$$", PWord1), vbInformation, HEADERExit Do 'Bypass all for...nextsEnd IfEnd WithNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfhFm办公区 - 实用经验教程分享!

    If WinTag And Not ShTag ThenMsgBox MSGONLYONE, vbInformation, HEADERExit SubEnd IfOn Error Resume NexthFm办公区 - 实用经验教程分享!

    For Each w1 In Worksheets'Attempt clearance with PWord1w1.Unprotect PWord1Next w1On Error GoTo 0ShTag = FalseFor Each w1 In Worksheets'Checks for all clear ShTag triggered to 1 if not.ShTag = ShTag Or w1.ProtectContentsNext w1If ShTag ThenFor Each w1 In WorksheetsWith w1If .ProtectContents ThenOn Error Resume NextDo 'Dummy do loopFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126.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 Not .ProtectContents ThenPWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)MsgBox Application.Substitute(MSGPWORDFOUND2, _"$$", PWord1), vbInformation, HEADER'leverage finding Pword by trying on other sheetsFor Each w2 In Worksheetsw2.Unprotect PWord1Next w2Exit Do 'Bypass all for...nextsEnd IfNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfEnd WithNext w1End IfMsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK & ZHENGLI, vbInformation, HEADEREnd SubhFm办公区 - 实用经验教程分享!

    hFm办公区 - 实用经验教程分享!

    =========以下的不要复制=============hFm办公区 - 实用经验教程分享!

    复制完成后,不用保存,直接关闭当前编码窗口。hFm办公区 - 实用经验教程分享!

    然后,打开宏的“查看宏”。hFm办公区 - 实用经验教程分享!

    点击“执行”,然后按照提示点击“开始”就行了,大约几十秒后破解完毕,另存文件即可。hFm办公区 - 实用经验教程分享!

    Excel2013工作表忘记保护密码的使用方法hFm办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!hFm办公区 - 实用经验教程分享!


    标签: excel电脑技术表格工作忘记

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码