ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 34399|回复: 30

[求助] 我的excel密码忘记了,怎么办啊?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-12-19 09:17 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
老师:
需要编辑以前的表格,
可是密码确怎么也想不起来了,
反复试都不对,
怎么办?

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-12-19 09:20 | 显示全部楼层
不知这个问题应该发到论坛的哪个板块,
常来这里就发到了这里。
请帮帮忙!

TA的精华主题

TA的得分主题

发表于 2010-12-19 10:41 | 显示全部楼层
得用VBA才能解决问题了

Sub 解除所有工作表密码和工作簿密码()
    Dim w1 As Worksheet, w2 As Worksheet
    Dim i As Integer, j As Integer, k As Integer, l As Integer
    Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer
    Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer
    Dim Pass As String
    Dim ShTag As Boolean, WinTag As Boolean
    Dim data As New DataObject
   
    Application.ScreenUpdating = False
    With ActiveWorkbook
        WinTag = .ProtectStructure Or .ProtectWindows
    End With
    ShTag = False
    For Each w1 In Worksheets
        ShTag = ShTag Or w1.ProtectContents
    Next w1
    If Not ShTag And Not WinTag Then
        MsgBox "当前工作簿没有工作表密码及工作簿密码", 65, "提示"
        Exit Sub
    End If
    MsgBox "根据电脑硬件不同,可能需要一到三分钟,请等候。", 65, "提示"
    If Not WinTag Then
        MsgBox "没有工作簿密码,现在开始破解工作表密码!", 65, "提示"
    Else
        On Error Resume Next
        Do
            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
                            With 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 Then
                                    Pass = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
                                    data.SetText Pass
                                    data.PutInClipboard
                                    MsgBox "工作簿保护密码:" & Pass & Chr(10) & "已复制到剪贴板,请以后记得备份您的密码", vbInformation, "提示"
                                    Exit Do
                                End If
                            End With
                        Next: Next: Next
                    Next: Next: Next
                Next: Next: Next
            Next: Next: Next
        Loop Until True
        On Error GoTo 0
    End If
    If WinTag And Not ShTag Then
        MsgBox "没有工作表密码,现在开始破解工作簿密码!", 65, "提示"
        Exit Sub
    End If
    On Error Resume Next
    For Each w1 In Worksheets
        w1.Unprotect Pass
    Next w1
    On Error GoTo 0
    ShTag = False
    For Each w1 In Worksheets
        ShTag = ShTag Or w1.ProtectContents
    Next w1
    If ShTag Then
        For Each w1 In Worksheets
            With w1
                If .ProtectContents Then
                    On Error Resume Next
                    Do
                        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
                                        .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 Then
                                            Pass = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
                                            data.SetText Pass
                                            data.PutInClipboard
                                            MsgBox w1.Name & "密码为:" & Pass & Chr(10) & "已复制到剪贴板,请以后记得备份您的密码", 65, "提示"
                                            For Each w2 In Worksheets
                                                w2.Unprotect Pass
                                            Next w2
                                            Exit Do
                                        End If
                                    Next: Next: Next
                                Next: Next: Next
                            Next: Next: Next
                        Next: Next: Next
                    Loop Until True
                    On Error GoTo 0
                End If
            End With
        Next w1
    End If
End Sub

[ 本帖最后由 sachengbao 于 2010-12-19 10:43 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-12-19 11:28 | 显示全部楼层

回复 3楼 sachengbao 的帖子

不知道 3楼破解的工作簿密码是什么密码?是打开工作簿的密码吗?

TA的精华主题

TA的得分主题

发表于 2010-12-19 11:32 | 显示全部楼层
到网上下载一个解码软件即可

TA的精华主题

TA的得分主题

发表于 2010-12-19 11:37 | 显示全部楼层
实际上 3楼写的代码就可以当作解码软件来用!
3 楼后一部分解工作表密码的那段代码我一直都在使用,效果很好!

原帖由 dudan731 于 2010-12-19 11:32 发表
到网上下载一个解码软件即可

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-12-19 14:26 | 显示全部楼层
谢谢啦!
VBA还不会,
网上找了几个,
下载后都提示有病毒,
郁闷啊!

TA的精华主题

TA的得分主题

发表于 2010-12-19 15:37 | 显示全部楼层

回复 7楼 起名太烦 的帖子

那个倒不一定是病毒,毕竟是破解程序嘛!

TA的精华主题

TA的得分主题

发表于 2010-12-19 15:38 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-12-19 15:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
3楼的代码很强,不过如果工作薄有密码打不开,如何获得它的workbook对象?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 19:47 , Processed in 0.042773 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表