excel 2007 vba与宏完全剖析_Excel怎么保护自己的劳动成果?强制用户启用宏,再加上这一步...
知識改變命運,科技成就未來。
當Excel工作簿中含有VBA代碼時,用戶在使用時需要啟用宏,否則工作簿的某些功能就會失效。或者是編輯的VBA代碼含有定期刪除指令,為了保證工作簿的安全性,和防止他人禁用宏造成知識產權法受到侵害,需要強制用戶啟用宏。看過以下三篇文章的小伙伴也提出同樣的問題。
Excel科幻電影效果,文件倒計時銷毀功能,網友直呼太科幻
Excel工作表打開一次后自動銷毀文件,回收站中都找不到
Excel工作簿自動銷毀功能,使用時間到期后自動刪除文件
經過兩天的深思熟慮終于找到解決問題辦法。思路是通過編輯VBA代碼,打開Excel工作簿后自動檢測宏是否被啟用,如果宏處于禁用狀態,工作簿會自動隱藏關鍵數據所在的工作表,此處的隱藏屬于深度隱藏,無法直接取消隱藏工作表。
步驟一:打開Excel工作簿后,再插入一個新的工作簿Sheet2用來存放關鍵數據,Sheet1作為提示工作簿,主要功能是提示用戶必須強制啟用宏和啟用宏的方法,否則隱藏關鍵數據所在的工作表。
Excel在打開含有宏的工作簿時,會提示用戶是否啟用宏,如果沒有做任何提示,此時就需要用戶自己動手啟用。啟用宏的操作步驟依次是:文件→選項→信任中心→信任中心設置→宏設置→啟用所有宏→確定。
步驟二:接下來就是編輯VBA代碼,打開Visual Basic編輯器后,將以下代碼復制粘貼到ThisWorkbook代碼窗口中,最后對VBAProject進行加密處理,主要是保護VBA代碼不被刪除或更改,以保證整個工作簿的安全性。設置完成后關閉Visual Basic編輯器回到工作簿操作界面。
代碼區域:
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sh As Worksheet
Sheet1.Visible = True
For Each sh In Me.Worksheets
If UCase(sh.Name) <> "SHEET1" Then sh.Visible = xlSheetVeryHidden
Next sh
Me.Save
End Sub
Private Sub Workbook_Open()
Dim sh As Worksheet
For Each sh In Me.Worksheets
If UCase(sh.Name) <> "SHEET1" Then sh.Visible = True
Next sh
Sheet1.Visible = xlSheetVeryHidden
End Sub
步驟三:工作簿的存儲也非常重要,需要將Excel工作簿另存為【*.xls】格式或【*.xlsm】格式,因為【*.xlsx】格式無法識別帶有宏的工作表,保存后宏會自動清除。
需要注意的是,在宏禁用的情況下,默認隱藏的是除Sheet1工作表之外的其他工作表,請勿將重要數據存放在Sheet1工作表之中。當啟用宏后,工作簿會自動隱藏Sheet1工作表。
至此,Microsoft Excel強制用戶啟用宏的操作方法已經介紹完畢。如果對操作過程有些費解,請瀏覽查閱前三篇文章獲取答案,也許會有不一樣的效果。如果感興趣可以結合前三篇文章的內容,制作屬于自己的工作簿,相信您定會讓他人大吃一驚。
動動手指點擊關注和轉發,讓更多的人告別加班的煩惱,每天掌握一些科技小技巧,相信也會為您的工作和生活帶來便捷。
總結
以上是生活随笔為你收集整理的excel 2007 vba与宏完全剖析_Excel怎么保护自己的劳动成果?强制用户启用宏,再加上这一步...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 史上最高!特斯拉被黑人员工告上法庭 赔了
- 下一篇: 疑高考数学泄题系恶意编辑占坑帖:考试结束