解密EXL

1打开文件
2工具---宏----录制新宏---输入名字如:aa
3停止录制(这样得到一个空宏)
4工具---宏----宏,选aa,点编辑按钮
5删除窗口中的所有字符(只有几个),替换为下面的内容:



Public?Sub?AllInternalPasswords()
'?Breaks?worksheet?and?workbook?structure?passwords.?Bob?McCormick
'?probably?originator?of?base?code?algorithm?modified?for?coverage
'?of?workbook?structure?/?windows?passwords?and?for?multiple?passwords
'
'?Norman?Harker?and?JE?McGimpsey?27-Dec-2002?(Version?1.1)
'?Modified?2003-Apr-04?by?JEM:?All?msgs?to?constants,?and
'?eliminate?one?Exit?Sub?(Version?1.1.1)
'?Reveals?hashed?passwords?NOT?original?passwords
Const?DBLSPACE?As?String?=?vbNewLine?&?vbNewLine
Const?AUTHORS?As?String?=?DBLSPACE?&?vbNewLine?&?_
"Adapted?from?Bob?McCormick?base?code?by"?&?_
"Norman?Harker?and?JE?McGimpsey"
Const?HEADER?As?String?=?"AllInternalPasswords?User?Message"
Const?VERSION?As?String?=?DBLSPACE?&?"Version?1.1.1?2003-Apr-04"
Const?REPBACK?As?String?=?DBLSPACE?&?"Please?report?failure?"?&?_
"to?the?microsoft.public.excel.programming?newsgroup."
Const?ALLCLEAR?As?String?=?DBLSPACE?&?"The?workbook?should?"?&?_
"now?be?free?of?all?password?protection,?so?make?sure?you:"?&?_
DBLSPACE?&?"SAVE?IT?NOW!"?&?DBLSPACE?&?"and?also"?&?_
DBLSPACE?&?"BACKUP!,?BACKUP!!,?BACKUP!!!"?&?_
DBLSPACE?&?"Also,?remember?that?the?password?was?"?&?_
"put?there?for?a?reason.?Don't?stuff?up?crucial?formulas?"?&?_
"or?data."?&?DBLSPACE?&?"Access?and?use?of?some?data?"?&?_
"may?be?an?offense.?If?in?doubt,?don't."
Const?MSGNOPWORDS1?As?String?=?"There?were?no?passwords?on?"?&?_
"sheets,?or?workbook?structure?or?windows."?&?AUTHORS?&?VERSION
Const?MSGNOPWORDS2?As?String?=?"There?was?no?protection?to?"?&?_
"workbook?structure?or?windows."?&?DBLSPACE?&?_
"Proceeding?to?unprotect?sheets."?&?AUTHORS?&?VERSION
Const?MSGTAKETIME?As?String?=?"After?pressing?OK?button?this?"?&?_
"will?take?some?time."?&?DBLSPACE?&?"Amount?of?time?"?&?_
"depends?on?how?many?different?passwords,?the?"?&?_
"passwords,?and?your?computer's?specification."?&?DBLSPACE?&?_
"Just?be?patient!?Make?me?a?coffee!"?&?AUTHORS?&?VERSION
Const?MSGPWORDFOUND1?As?String?=?"You?had?a?Worksheet?"?&?_
"Structure?or?Windows?Password?set."?&?DBLSPACE?&?_
"The?password?found?was:?"?&?DBLSPACE?&?"$$"?&?DBLSPACE?&?_
"Note?it?down?for?potential?future?use?in?other?workbooks?by?"?&?_
"the?same?person?who?set?this?password."?&?DBLSPACE?&?_
"Now?to?check?and?clear?other?passwords."?&?AUTHORS?&?VERSION
Const?MSGPWORDFOUND2?As?String?=?"You?had?a?Worksheet?"?&?_
"password?set."?&?DBLSPACE?&?"The?password?found?was:?"?&?_
DBLSPACE?&?"$$"?&?DBLSPACE?&?"Note?it?down?for?potential?"?&?_
"future?use?in?other?workbooks?by?same?person?who?"?&?_
"set?this?password."?&?DBLSPACE?&?"Now?to?check?and?clear?"?&?_
"other?passwords."?&?AUTHORS?&?VERSION
Const?MSGONLYONE?As?String?=?"Only?structure?/?windows?"?&?_
"protected?with?the?password?that?was?just?found."?&?_
ALLCLEAR?&?AUTHORS?&?VERSION?&?REPBACK
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?PWord1?As?String
Dim?ShTag?As?Boolean,?WinTag?As?Boolean
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?MSGNOPWORDS1,?vbInformation,?HEADER
Exit?Sub
End?If
MsgBox?MSGTAKETIME,?vbInformation,?HEADER
If?Not?WinTag?Then
MsgBox?MSGNOPWORDS2,?vbInformation,?HEADER
Else
On?Error?Resume?Next
Do?'dummy?do?loop
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
PWord1?=?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,?HEADER
Exit?Do?'Bypass?all?for...nexts
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?MSGONLYONE,?vbInformation,?HEADER
Exit?Sub
End?If
On?Error?Resume?Next
For?Each?w1?In?Worksheets
'Attempt?clearance?with?PWord1
w1.Unprotect?PWord1
Next?w1
On?Error?GoTo?0
ShTag?=?False
For?Each?w1?In?Worksheets
'Checks?for?all?clear?ShTag?triggered?to?1?if?not.
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?'Dummy?do?loop
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
PWord1?=?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?sheets
For?Each?w2?In?Worksheets
w2.Unprotect?PWord1
Next?w2
Exit?Do?'Bypass?all?for...nexts
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
MsgBox?ALLCLEAR?&?AUTHORS?&?VERSION?&?REPBACK,?vbInformation,?HEADER
End?Sub


6关闭编辑窗口
7工具---宏-----宏,选AllInternalPasswords,运行,确定两次,等2分钟,再确定.OK,没有密码了!!

转载于:https://www.cnblogs.com/CB-red/p/8780282.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值