ئىنتىل تورى

 پارول قايتۇرىۋېلىش
 تىزىملىتىش
ئىزدەش
ئاۋات ئىزدەش: مۇسابىقەchromeexcelwordps
كۆرۈش: 494|ئىنكاس: 1

جەدۋەل مەخپى نۇمىرىنى كورسىتىپ بىرش كودى [ئۇلانما كۆچۈرۈش]

artuq   [ئىشەنچلىك ئەزا]  实名认证 

Rank: 7Rank: 7Rank: 7

تۆھپە
417
تىللا
659
شۆھرەت
845

شەرەپ تۆھپە

يوللىغان ۋاقتى 2011-6-30 18:57:21 |ھەممە قەۋەتنى كۆرۈش
تۇۋەندىكىسى مەخپى نۇمۇر سېلىنغان جەدىۋەلنىڭ  مەخپى نۇمىرىنى كورسىتىپ بىرىدۇھەمدە يىشىيپ بىرىدۇ .
  1. Option Explicit

  2. Public Sub AllInternalPasswords()
  3. ' Breaks worksheet and workbook structure passwords. Bob McCormick
  4. ' probably originator of base code algorithm modified for coverage
  5. ' of workbook structure / windows passwords and for multiple passwords
  6. '
  7. ' Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1)
  8. ' Modified 2003-Apr-04 by JEM: All msgs to constants, and
  9. ' eliminate one Exit Sub (Version 1.1.1)
  10. ' Reveals hashed passwords NOT original passwords
  11. Const DBLSPACE As String = vbNewLine & vbNewLine
  12. Const AUTHORS As String = DBLSPACE & vbNewLine & _
  13. "Adapted from Bob McCormick base code by" & _
  14. "Norman Harker and JE McGimpsey"
  15. Const HEADER As String = "AllInternalPasswords User Message"
  16. Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04"
  17. Const REPBACK As String = DBLSPACE & "Please report failure " & _
  18. "to the microsoft.public.excel.programming newsgroup."
  19. Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _
  20. "now be free of all password protection, so make sure you:" & _
  21. DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _
  22. DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _
  23. DBLSPACE & "Also, remember that the password was " & _
  24. "put there for a reason. Don't stuff up crucial formulas " & _
  25. "or data." & DBLSPACE & "Access and use of some data " & _
  26. "may be an offense. If in doubt, don't."
  27. Const MSGNOPWORDS1 As String = "There were no passwords on " & _
  28. "sheets, or workbook structure or windows." & AUTHORS & VERSION
  29. Const MSGNOPWORDS2 As String = "There was no protection to " & _
  30. "workbook structure or windows." & DBLSPACE & _
  31. "Proceeding to unprotect sheets." & AUTHORS & VERSION
  32. Const MSGTAKETIME As String = "After pressing OK button this " & _
  33. "will take some time." & DBLSPACE & "Amount of time " & _
  34. "depends on how many different passwords, the " & _
  35. "passwords, and your computer's specification." & DBLSPACE & _
  36. "Just be patient! Make me a coffee!" & AUTHORS & VERSION
  37. Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _
  38. "Structure or Windows Password set." & DBLSPACE & _
  39. "The password found was: " & DBLSPACE & "$$" & DBLSPACE & _
  40. "Note it down for potential future use in other workbooks by " & _
  41. "the same person who set this password." & DBLSPACE & _
  42. "Now to check and clear other passwords." & AUTHORS & VERSION
  43. Const MSGPWORDFOUND2 As String = "You had a Worksheet " & _
  44. "password set." & DBLSPACE & "The password found was: " & _
  45. DBLSPACE & "$$" & DBLSPACE & "Note it down for potential " & _
  46. "future use in other workbooks by same person who " & _
  47. "set this password." & DBLSPACE & "Now to check and clear " & _
  48. "other passwords." & AUTHORS & VERSION
  49. Const MSGONLYONE As String = "Only structure / windows " & _
  50. "protected with the password that was just found." & _
  51. ALLCLEAR & AUTHORS & VERSION & REPBACK
  52. Dim w1 As Worksheet, w2 As Worksheet
  53. Dim i As Integer, j As Integer, k As Integer, l As Integer
  54. Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer
  55. Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer
  56. Dim PWord1 As String
  57. Dim ShTag As Boolean, WinTag As Boolean

  58. Application.ScreenUpdating = False
  59. With ActiveWorkbook
  60. WinTag = .ProtectStructure Or .ProtectWindows
  61. End With
  62. ShTag = False
  63. For Each w1 In Worksheets
  64. ShTag = ShTag Or w1.ProtectContents
  65. Next w1
  66. If Not ShTag And Not WinTag Then
  67. MsgBox MSGNOPWORDS1, vbInformation, HEADER
  68. Exit Sub
  69. End If
  70. MsgBox MSGTAKETIME, vbInformation, HEADER
  71. If Not WinTag Then
  72. MsgBox MSGNOPWORDS2, vbInformation, HEADER
  73. Else
  74. On Error Resume Next
  75. Do 'dummy do loop
  76. For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
  77. For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
  78. For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
  79. For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
  80. With ActiveWorkbook
  81. .Unprotect Chr(i) & Chr(j) & Chr(k) & _
  82. Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
  83. Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  84. If .ProtectStructure = False And _
  85. .ProtectWindows = False Then
  86. PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
  87. Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
  88. Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  89. MsgBox Application.Substitute(MSGPWORDFOUND1, _
  90. "$$", PWord1), vbInformation, HEADER
  91. Exit Do 'Bypass all for...nexts
  92. End If
  93. End With
  94. Next: Next: Next: Next: Next: Next
  95. Next: Next: Next: Next: Next: Next
  96. Loop Until True
  97. On Error GoTo 0
  98. End If
  99. If WinTag And Not ShTag Then
  100. MsgBox MSGONLYONE, vbInformation, HEADER
  101. Exit Sub
  102. End If
  103. On Error Resume Next
  104. For Each w1 In Worksheets
  105. 'Attempt clearance with PWord1
  106. w1.Unprotect PWord1
  107. Next w1
  108. On Error GoTo 0
  109. ShTag = False
  110. For Each w1 In Worksheets
  111. 'Checks for all clear ShTag triggered to 1 if not.
  112. ShTag = ShTag Or w1.ProtectContents
  113. Next w1
  114. If ShTag Then
  115. For Each w1 In Worksheets
  116. With w1
  117. If .ProtectContents Then
  118. On Error Resume Next
  119. Do 'Dummy do loop
  120. For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
  121. For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
  122. For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
  123. For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
  124. .Unprotect Chr(i) & Chr(j) & Chr(k) & _
  125. Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
  126. Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  127. If Not .ProtectContents Then
  128. PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
  129. Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
  130. Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  131. MsgBox Application.Substitute(MSGPWORDFOUND2, _
  132. "$$", PWord1), vbInformation, HEADER
  133. 'leverage finding Pword by trying on other sheets
  134. For Each w2 In Worksheets
  135. w2.Unprotect PWord1
  136. Next w2
  137. Exit Do 'Bypass all for...nexts
  138. End If
  139. Next: Next: Next: Next: Next: Next
  140. Next: Next: Next: Next: Next: Next
  141. Loop Until True
  142. On Error GoTo 0
  143. End If
  144. End With
  145. Next w1
  146. End If
  147. MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER
  148. End Sub
مەزمۇننى كۆچۈرۈۋېلىش

Rank: 8Rank: 8

تۆھپە
672
تىللا
1123
شۆھرەت
1402
يوللىغان ۋاقتى 2011-6-30 23:23:45 |ھەممە قەۋەتنى كۆرۈش
بۇ كودنى قانداق ئىشلىتىش ھەققىدە چۈشەنچە بېرۋەتمەمسىز ؟
كىرگەندىن كىيىن ئىنكاس يازالايسىز كىرىش | تىزىملىتىش

يانفۇن|Archiver|intil.cn ( 新ICP备11001938号 )

GMT+8, 2012-11-12 01:56 , Processed in 0.145081 second(s), 16 queries .

Powered by Discuz! X2(NurQut Team) Licensed

© 2001-2011 Comsenz Inc.

چوققىغا قايتىش