excel2013利用VBA編程解鎖密碼的教程
在Excel中經(jīng)常需要用到密碼保護進行對重要數(shù)據(jù)保護,而因為時間過得久了,久而久之就忘記密碼了,這個時候就需要我們動用一些技術(shù)利用VBA編程進行解鎖密碼,具體該如何操作呢,下面是學(xué)習(xí)啦小編帶來的關(guān)于excel2013利用VBA編程解鎖密碼的教程,希望閱讀過后對你有所啟發(fā)!
excel2013利用VBA編程解鎖密碼的教程:
利用VBA編程解鎖步驟1:將你要破解的Excel文件關(guān)閉,切記一定要關(guān)閉呀!然后新建一個Excel文件
利用VBA編程解鎖步驟2:打開新建的這個Excel,按下alt+F11,打開vb界面,新建一個模塊,如圖所示
利用VBA編程解鎖步驟3:將代碼復(fù)制到這個模塊中,代碼如下:
Private Sub VBAPassword() '你要解保護的Excel文件路徑
Filename = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt", , "VBA破解")
If Dir(Filename) = "" Then
MsgBox "沒找到相關(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 "請先對VBA編碼設(shè)置一個保護密碼...", 32, "提示"
Exit Sub
End If
Dim St As String * 2
Dim s20 As String * 1
'取得一個0D0A十六進制字串
Get #1, CMGs - 2, St
'取得一個20十六制字串
Get #1, DPBo + 16, s20
'替換加密部份機碼
For i = CMGs To DPBo Step 2
Put #1, i, St
Next
'加入不配對符號
If (DPBo - CMGs) Mod 2 <> 0 Then
Put #1, DPBo + 1, s20
End If
MsgBox "文件解密成功......", 32, "提示"
Close #1
End Sub
利用VBA編程解鎖步驟4:然后點擊運行按鈕,如圖所示,綠色的小三角就是
利用VBA編程解鎖步驟5:你會看到,打開了一個文件夾,找到我們要破解的這個文件,然后點擊打開
利用VBA編程解鎖步驟6:稍等幾分鐘你就會看到破解成功的提示了
利用VBA編程解鎖步驟7:再次打開你要破解的這個文件,你會看到這里已經(jīng)可以查看代碼了哈哈