excel2010vba密碼破解的方法
在Excel中可能因?yàn)榍岸螘r(shí)間覺(jué)得數(shù)據(jù)比較重要而設(shè)置了密碼,但到后期卻忘記了密碼,這個(gè)時(shí)候就需要利用VBA進(jìn)行密碼破。下面是由學(xué)習(xí)啦小編分享的excel2010 vba 密碼破解的方法,希望對(duì)你有用。
excel2010 vba 密碼破解的方法:
VBA是Excel中比較難的部分,有些學(xué)習(xí)愛(ài)好者下載了別人的VBA模塊來(lái)學(xué)習(xí),但是卻因?yàn)榧恿嗣艽a而看不到里面詳細(xì)的程序,不過(guò)在強(qiáng)大的程序員面前,這都不是難事,下面,教大家如何破解VBA工程密碼。
步驟1:打開Excel2013,按下鍵盤上的ALT+F11鍵,打開VBA代碼編輯器。插入新的模塊。
步驟2:將下列代碼復(fù)制進(jìn)去,然后F5鍵運(yùn)行。
Private Sub VBAPassword() '你要解保護(hù)的Excel文件路徑
Filename = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt", , "VBA破解")
If Dir(Filename) = "" Then
MsgBox "沒(méi)找到相關(guān)文件,清重新設(shè)置。"
Exit Sub
Else
FileCopy Filename, Filename & ".bak" '備份文件。
End If
Dim GetData As String * 5
Open Filename For Binary As #1
Dim CMGs As Long
Dim DPBo As Long
For i = 1 To LOF(1)
Get #1, i, GetData
If GetData = "CMG=""" Then CMGs = i
If GetData = "[Host" Then DPBo = i - 2: Exit For
Next
If CMGs = 0 Then
MsgBox "請(qǐng)先對(duì)VBA編碼設(shè)置一個(gè)保護(hù)密碼...", 32, "提示"
Exit Sub
End If
Dim St As String * 2
Dim s20 As String * 1
'取得一個(gè)0D0A十六進(jìn)制字串
Get #1, CMGs - 2, St
'取得一個(gè)20十六制字串
Get #1, DPBo + 16, s20
'替換加密部份機(jī)碼
For i = CMGs To DPBo Step 2
Put #1, i, St
Next
'加入不配對(duì)符號(hào)
If (DPBo - CMGs) Mod 2 <> 0 Then
Put #1, DPBo + 1, s20
End If
MsgBox "文件解密成功......", 32, "提示"
Close #1
End Sub
步驟3:這時(shí)會(huì)自動(dòng)彈出一個(gè)窗口,我們打開需要進(jìn)行解密的VBA文件。
步驟4:等待程序自動(dòng)完成解密過(guò)程,最終解密成功。