设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 7813|回复: 10
打印 上一主题 下一主题

【练习】工作表密码破解

[复制链接]
跳转到指定楼层
1#
发表于 2014-2-25 12:19:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 faunus 于 2014-2-26 11:02 编辑

【工作表密码破解】

以下代码粘在RIBBON中按钮的事件里
  1. //工作表密码破解

  2. //app
  3. Excel.Application app;
  4. app = Globals.ThisAddIn.Application;//在RIBBON中,只能这样调用。

  5. //book|sh
  6. Excel.Workbook book = app.ActiveWorkbook;
  7. Excel.Worksheet sh = book.ActiveSheet;

  8. //开始撸
  9. sh.Protect(
  10.     DrawingObjects: Office.MsoTriState.msoTrue,
  11.     Contents: Office.MsoTriState.msoTrue,
  12.     Scenarios: Office.MsoTriState.msoTrue,
  13.     AllowFiltering: Office.MsoTriState.msoTrue,
  14.     AllowUsingPivotTables: Office.MsoTriState.msoTrue);

  15. sh.Protect(
  16.     DrawingObjects: Office.MsoTriState.msoTrue,
  17.     Contents: Office.MsoTriState.msoTrue, Scenarios:
  18.     Office.MsoTriState.msoTrue,
  19.     AllowFiltering: Office.MsoTriState.msoTrue,
  20.     AllowUsingPivotTables: Office.MsoTriState.msoTrue);

  21. sh.Protect(
  22.     DrawingObjects: Office.MsoTriState.msoTrue,
  23.     Contents: Office.MsoTriState.msoTrue,
  24.     Scenarios: Office.MsoTriState.msoTrue,
  25.     AllowFiltering: Office.MsoTriState.msoTrue,
  26.     AllowUsingPivotTables: Office.MsoTriState.msoTrue);

  27. sh.Protect(
  28.     DrawingObjects: Office.MsoTriState.msoTrue,
  29.     Contents: Office.MsoTriState.msoTrue,
  30.     Scenarios: Office.MsoTriState.msoTrue,
  31.     AllowFiltering: Office.MsoTriState.msoTrue,
  32.     AllowUsingPivotTables: Office.MsoTriState.msoTrue);

  33. sh.Unprotect();
复制代码

还需要加上引用:
  1. //
  2. using Excel = Microsoft.Office.Interop.Excel;
  3. using Office = Microsoft.Office.Core;
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2014-2-25 12:30:25 | 只看该作者
开始

评分

参与人数 1V币 +1 收起 理由
faunus + 1 (V币)代码练习跟贴(1分)

查看全部评分

回复

使用道具 举报

点击这里给我发消息

3#
发表于 2014-2-25 13:45:49 | 只看该作者
标记一下,回家撸。

评分

参与人数 1V币 +1 收起 理由
faunus + 1 (V币)代码练习跟贴(1分)

查看全部评分

点击这里给我发消息

4#
发表于 2014-2-25 14:25:50 | 只看该作者
您瞧好了,开撸

评分

参与人数 1V币 +1 收起 理由
faunus + 1 (V币)代码练习跟贴(1分)

查看全部评分

5#
发表于 2014-2-25 14:25:59 | 只看该作者
继续学习 加油

评分

参与人数 1V币 +1 收起 理由
faunus + 1 (V币)代码练习跟贴(1分)

查看全部评分

6#
发表于 2014-2-25 17:41:38 | 只看该作者
本帖最后由 tianping 于 2014-2-25 17:50 编辑

报告老师,撸完。不够完善,需要再对保护状态有更明确的显示。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1V币 +1 收起 理由
faunus + 1 (V币)代码练习跟贴(1分)

查看全部评分

7#
发表于 2014-2-26 14:46:55 | 只看该作者
Sub RemoveShProtect()
      Dim i1 As Integer, i2 As Integer, i3 As Integer
      Dim i4 As Integer, i5 As Integer, i6 As Integer
      Dim i7 As Integer, i8 As Integer, i9 As Integer
      Dim i10 As Integer, i11 As Integer, i12 As Integer
      On Error Resume Next
      If ActiveSheet.ProtectContents = False Then
          MsgBox "该工作表没有保护密码!"
          Exit Sub
      End If
      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 i7 = 65 To 66: For i8 = 65 To 66: For i9 = 65 To 66
      For i10 = 65 To 66: For i11 = 65 To 66: For i12 = 32 To 126
          ActiveSheet.Unprotect Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) _
          & Chr(i6) & Chr(i7) & Chr(i8) & Chr(i9) & Chr(i10) & Chr(i11) & Chr(i12)
          If ActiveSheet.ProtectContents = False Then
              MsgBox "已经解除了工作表保护!"
              Exit Sub
          End If
      Next: Next: Next: Next: Next: Next
      Next: Next: Next: Next: Next: Next
  End Sub

Sub RemoveBkProtect()
      Dim i1 As Integer, i2 As Integer, i3 As Integer
      Dim i4 As Integer, i5 As Integer, i6 As Integer
      Dim i7 As Integer, i8 As Integer, i9 As Integer
      Dim i10 As Integer, i11 As Integer, i12 As Integer
      On Error Resume Next
      If ActiveWorkbook.ProtectStructure = False And ActiveWorkbook.ProtectWindows = False Then
          MsgBox "该工作簿没有保护密码!"
         
          Exit Sub
      End If
      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 i7 = 65 To 66: For i8 = 65 To 66: For i9 = 65 To 66
      For i10 = 65 To 66: For i11 = 65 To 66: For i12 = 32 To 126
          ActiveWorkbook.Unprotect Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) _
          & Chr(i6) & Chr(i7) & Chr(i8) & Chr(i9) & Chr(i10) & Chr(i11) & Chr(i12)
          If ActiveWorkbook.ProtectStructure = False And ActiveWorkbook.ProtectWindows = False Then
              MsgBox "已经解除了工作簿保护!"
              Exit Sub
          End If
      Next: Next: Next: Next: Next: Next
      Next: Next: Next: Next: Next: Next
  End Sub

评分

参与人数 1V币 +1 收起 理由
faunus + 1 (V币)代码练习跟贴(1分)

查看全部评分

8#
发表于 2014-2-26 14:47:08 | 只看该作者
看看这个能用不

评分

参与人数 1V币 +1 收起 理由
faunus + 1 (V币)课程报名、录像学习、代码练习跟贴.

查看全部评分

9#
发表于 2014-2-27 10:36:38 | 只看该作者
可以,这个代码可以得到密码。不过多个密文密匙相通,不一定是原始密匙

评分

参与人数 1V币 +1 收起 理由
faunus + 1 (V币)课程报名、录像学习、代码练习跟贴.

查看全部评分

点击这里给我发消息

10#
发表于 2014-3-11 20:25:29 | 只看该作者
真厉害~~  秒杀

评分

参与人数 1V币 +1 收起 理由
faunus + 1 (V币)课程报名、录像学习、代码练习跟贴.

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 07:11 , Processed in 0.109651 second(s), 41 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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