學(xué)習(xí)啦>學(xué)習(xí)電腦>工具軟件>辦公軟件學(xué)習(xí)>Excel教程>Excel2013教程>

excel2013利用VBA編程解鎖密碼的教程

時間: 業(yè)華773 分享

  在Excel中經(jīng)常需要用到密碼保護(hù)進(jìn)行對重要數(shù)據(jù)保護(hù),而因為時間過得久了,久而久之就忘記密碼了,這個時候就需要我們動用一些技術(shù)利用VBA編程進(jìn)行解鎖密碼,具體該如何操作呢,下面是學(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() '你要解保護(hù)的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è)置一個保護(hù)密碼...", 32, "提示"

  Exit Sub

  End If

  Dim St As String * 2

  Dim s20 As String * 1

  '取得一個0D0A十六進(jìn)制字串

  Get #1, CMGs - 2, St

  '取得一個20十六制字串

  Get #1, DPBo + 16, s20

  '替換加密部份機(jī)碼

  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)可以查看代碼了哈哈

673430