史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   繪圖軟體應用技術文件 (http://forum.slime.com.tw/f131.html)
-   -   辦公寶典:Excel工作表的保護大法 (http://forum.slime.com.tw/thread86393.html)

psac 2003-12-12 02:23 PM

辦公寶典:Excel工作表的保護大法
 
  Excel表格是我們工作中經常用到的,而它往往涉及統計資料等敏感問題,因此,Excel表格的保護也是經常遇到的問題,如何安全使用Excel呢?我們常用到的是Excel「工具」表單提供的「保護工作表」和「保護活頁簿」功能。有沒有其他方法呢?


  用巨集進行「顯式」加密


  在需要加密的Excel 表中,點擊[工具]→[巨集]→[Visual Basic編輯器],開啟「工程檔案總管」,雙按該工作表,在右邊的是設定該表內容的編輯視窗,按下該視窗左上方的下拉列表框,選項Worksheet,再從該視窗右上方的列表框中選項Activate(啟動)。





圖為用巨集進行「顯式」加密


  增加如下程式碼:(假設「123」為密碼,Sheet1為限制權限表格,Sheet2為活頁簿中為任何適合的工作表)


  Private Sub Worksheet_Activate()


  Sheets("sheet1").Cells.Font.ColorIndex = 2 '設定文字顏色為白色


  If Application.InputBox("請輸入密碼:") = 123 Then


  Range("A1").Select


  ActiveSheet.Cells.Font.ColorIndex = 56


  ' 設定文字顏色為黑色


  Else


  MsgBox "密碼錯誤,即將退出!"


  Sheets("sheet2").Select


  End If


  End Sub


  每次當你選項該「加密」表的時候都會彈出對話視窗要求輸入密碼,正確則進入該表(Sheet1),否則會選項其他表(Sheet2)。


  用巨集進行「隱式」加密


  「顯式」加密,雖然可以讓沒有密碼的使用者無法看到「加密」表格,但是每次選項該表格時都會彈出對話視窗,實在不方便而且給其他用戶一種被防範的不舒服感覺。於是筆者就想出了下面的「隱式」加密方法。假如要加密的是Sheet1,我們可以設定在Sheet2的「A1」單元格為密碼的輸入處。於是修改以上程式碼如下:


  Private Sub Worksheet_Activate()


  Sheets("sheet1").Cells.Font.ColorIndex = 2'設定文字顏色為白色


  If Sheets("sheet2").Cells(1, 1) = 123 Then


  Range("A1").Select


  ActiveSheet.Cells.Font.ColorIndex = 56


  ' 設定文字顏色為黑色


  End If


  End Sub


  設定好以後,只有Sheet2的(A1)單元格為密碼「123」時「加密」表Sheet1的內容才顯示出來,否則就是透明的,神不知鬼不覺;所謂「隱式」。


  「隱式」加密雖然保證了沒有密碼的用戶不能檢視「加密」表格的內容,但是不能保護其他用戶對其進行修改。所以我們要綜合運用上面所說的「保護表格」和「隱式加密」對要保密的表格進行設定。


  上面是筆者在實踐中綜合出來的加密經驗,希望能給大家帶來方便,也恭候大家的指點交流。

 文/尹慶超

w_dfbb 2003-12-15 03:15 PM

非常實用的方法!謝謝!

chiihwa 2003-12-16 02:11 PM

又學到一招了............謝謝

Valenti 2003-12-18 10:26 AM

真是好厲害
感謝啦


所有時間均為台北時間。現在的時間是 12:04 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2020, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1