大致上:這方法是用十六進制編輯器-Hex Editor 去打開檔案,找尋並修改檔案中特定的識別字串,就可在打開檔案時除掉加密保護。(這方法是試在辦公室的Window機Office2013。而現在用自家電腦準備以下圖片時知道,Mac機的Office 2011在打開最後那個修改過的檔案時,有不同的處理,所以偷看不到。)
- 常見帶Macro的Excel 會存成 xls 或 xlsm 副檔名的檔案,而這方法用在xls檔上。因為我手上的是xlsm,所以要做一個另存新檔的步驟,存成xls檔。
- 用Hex Editor打開檔案,若是自家電腦可以找Notepad++的外掛,工作的電腦可以抓網上的Online Hex Editor (如 https://hexed.it/)。找尋"DBP"並修改為"DBx"。然後匯出檔案。
- 這時打開剛修改過的檔案,過程中會出現錯誤訊息,可以選擇略過錯誤。然後進入VB Editor,會發現已經可以檢視程式碼(Office 2011只能選擇"開啟並修復",打開後Module部份不見了)。這時最好也重新設定/解除VBA Project的加密,並另行存檔。
後話:在嘗試這方法時,也想起的當年的PC遊戲-三國志曹操傳,就有使用十六進制編輯器的修改法。
沒有留言:
張貼留言