[算表] Excel工作表忘了密碼?VBA解除工作表保護

作者: moodyblue   2020-03-22 15:52:26
Excel加密工作表忘了密碼?幾行VBA代碼,不懂程式照樣解除工作表保護
網誌圖文版:
https://www.b88104069.com/archives/4466
商業機密考量,Excel可以加密上鎖活頁簿檔案﹐或者以工作表儲存格範圍加密保護,但
忘記密碼卻很麻煩,其實幾行VBA程式代碼可以輕鬆解除工作表密碼,本文以具體操作步
驟分享如何操作。
一、贊贊小屋的練習題檔案有工作表想取消群組,發現被保護住了,密碼和原本所設定的
不一樣,沒辦法編輯工作表。
二、滑鼠游標移到工作表標籤上,右鍵點選「檢視程式碼」這個快捷選項。
三、於Excel外掛的VBA編輯視窗中,貼上下列程式代碼:
Sub 解除工作表密碼()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, AllowFiltering:=True
ActiveSheet.Protect DrawingObjects:=False, Contents:=True,
AllowFiltering:=True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, AllowFiltering:=True
ActiveSheet.Protect DrawingObjects:=False, Contents:=True,
AllowFiltering:=True
ActiveSheet.Unprotect
End Sub
四、上方功能區「檢視」頁籤,將「巨集」程式集下拉,選擇「檢視巨集」。依照浮窗說
明可知其快捷鍵為「Alt+F8」。
五、「巨集」對話方塊會看到第三步驟所貼上的程式碼,在這裡呈現為「解除工作表密碼
」巨集,直接按「執行」。
六、執行後跳出「取消保護工作表」對話方塊,中間是輸入密碼欄位,不過這裡直接「取
消」即可。
七、雖然沒有輸入過正確密碼,工作表已解除保護,可以取消群組做任何編輯。
八、參考微軟Office產品支援中心關於Excel保護工作表的說明:「並非作為安全性功能
的用途。此功能只是用來防止使用者修改工作表內的鎖定儲存格。」
仔細分析VBA程式碼,它藉由工作表保護屬性的反覆設定將密碼清除,最後再解除保護,
因此巨集執行完要再確定取消保護,效果等同於把工作表保護更新為空白密碼。參考微軟
相關說明會更加清楚,此功能並非安全性等級的用途,也許因為如此可利用VBA執行繞過
Excel指令限制,在灰色地帶直接跳過密碼設定。
延伸閱讀:
Excel折線圖貼上圓形標籤,簡報圖表力,鈊象(3293)營收統計圖更加視覺化
https://www.b88104069.com/archives/4462
Excel巨集抓取網頁資料出錯了!進入VBA簡單修改,開始成為程式設計師
https://www.b88104069.com/archives/4432
打開Excel開發人員面板,錄製巨集維護快速鍵,開始VBA程式抓網頁資料
https://www.b88104069.com/archives/4425

Links booklink

Contact Us: admin [ a t ] ucptt.com