辦公寶典: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的內容才顯示出來,否則就是透明的,神不知鬼不覺;所謂「隱式」。
「隱式」加密雖然保證了沒有密碼的用戶不能檢視「加密」表格的內容,但是不能保護其他用戶對其進行修改。所以我們要綜合運用上面所說的「保護表格」和「隱式加密」對要保密的表格進行設定。
上面是筆者在實踐中綜合出來的加密經驗,希望能給大家帶來方便,也恭候大家的指點交流。
文/尹慶超
|