excel2007利用vba破解密碼的教程
在Excel中錄入了重要的數(shù)據(jù)而設(shè)置了密碼保護(hù),長(zhǎng)時(shí)間下來(lái)可能會(huì)忘記了密碼,這個(gè)時(shí)候就需要用到VBA進(jìn)行破解密碼了。下面是由學(xué)習(xí)啦小編分享的excel2007 利用vba破解密碼的教程,供大家閱讀、學(xué)習(xí)。
excel2007 利用vba破解密碼的教程:
用VBA破解密碼步驟1:將你要破解的Excel文件關(guān)閉,切記一定要關(guān)閉呀!然后新建一個(gè)Excel文件
用VBA破解密碼步驟2:打開(kāi)新建的這個(gè)Excel,按下alt+F11,打開(kāi)vb界面,新建一個(gè)模塊,如圖所示
用VBA破解密碼步驟3:將代碼復(fù)制到這個(gè)模塊中,代碼如下:
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
用VBA破解密碼步驟4:然后點(diǎn)擊運(yùn)行按鈕,如圖所示,綠色的小三角就是
用VBA破解密碼步驟5:你會(huì)看到,打開(kāi)了一個(gè)文件夾,找到我們要破解的這個(gè)文件,然后點(diǎn)擊打開(kāi)
用VBA破解密碼步驟6:稍等幾分鐘你就會(huì)看到破解成功的提示了
用VBA破解密碼步驟7:再次打開(kāi)你要破解的這個(gè)文件,你會(huì)看到這里已經(jīng)可以查看代碼了哈哈