技術宅
日常工作中,我們制作的Excel文檔在傳閱過程中經常會由于其他員工的編輯導致數據出錯。傳統簡單的添加只讀保護常常無法很好地保護文檔安全,因為它是針對整個工作簿進行保護,而有時候我們需要對某個工作表或者某些行列數據進行保護。其實Excel還內置很多組件可以用來對文檔進行更為靈活的保護。
許看不許動 將數據轉為圖片
在Excel中最重要的元素就是各種數據,如果要保護自己的數據不被瀏覽者更改,直接將圖片“變為”無法編輯的圖片是個很好的保護方法。不過并不是直接截圖,而是通過鏈接圖片的方法實現。比如一份原始的每日銷量統計表,因為數據每天都在添加,現在要截取截止到今天的數據給上司查閱,就可以使用連接圖片的方法(圖1)。
選中A1→B31數據,右擊選擇“復制”,然后選中需要展示數據的單元格,假設為E1,選中E1右擊選擇“開始→粘貼→鏈接的圖片”(圖2))。
這樣在E1就會自動出現一張和A、B列數據完全一樣的圖片數據,由于這里顯示的是圖片,因此瀏覽者除了查看是無法進行編輯的。不過這又是一張鏈接的圖片,它顯示的是引用=$A$1:$B$31里的數據,也就是說我們只要在A1:B31輸入或者更改數據,那么這兒圖片里的數據也會同步更改顯示,但是瀏覽者又無法編輯,可以很好地保護原始數據不被瀏覽者更改(圖3)。
秘密勿看 重要工作表玩隱藏
在平常制作的一些文檔中我們經常會在表格中保存一些比較機密的信息,如產品的出廠價格、研發代號、合作廠商等商業信息。文檔保存在檔案庫后,我們不希望一般瀏覽者看到這些信息,對于這些信息現在可以使用隱藏的方法進行保護。
假設產品出廠價均保存在“出廠價格”這個工作表,在Excel中右擊該工作表選擇“隱藏”,這樣這個工作表就會自動隱藏起來了。為了避免其他用戶再通過“取消隱藏”的方法顯示工作表,點擊“審閱一保護工作簿”,在彈出的窗口中輸入需要保護的密碼(圖4)。
這樣用戶就無法通過“取消隱藏”的方法顯示工作表了,因為這里的命令都變為灰色,用戶只有通過上述設置的密碼取消保護才可以顯示隱藏的工作表(圖5)。
使用保護工作簿的方法可以很好地保護隱藏工作表的安全,但是密碼記憶是個問題。如果要徹底隱藏工作表而不需要記憶密碼,我們還可以通過VBA深度隱藏工作表。按下ALT+F11,打開VBA編輯器,在“工程”面板中選擇要隱藏的工作表如“出廠價格”,并在“屬性”面板中設置“Visible”屬性值為“2-xlSheetVeryHidden”(圖6)。
說明:“Visible”屬性值-1、0、2分別代表可見、隱藏和絕對隱藏。比如設置為0-x1SheetHidden則為普通隱藏,可通過“格式→江作表→取消隱藏”取消隱藏工作表;“2-xlSheetVeryHidden'則為深度隱藏,需要顯示工作表時要同上進入VBA設置,將其屬性再設置為-1才可以正常顯示。
局部保護 用活Excel的工作表保護
上述方法是對整個工作表進行隱藏,很多時候上述機密數據可能保存在某些行列中,對于這類數據,我們可以通過隱藏特定行列的方法進行保護。比如重要數據在B列,選中B列右擊選擇“隱藏”,這樣B列的內容就自動隱藏了(圖7)。
如果要顯示隱藏列,則選中A、C列,右擊選擇“取消隱藏”即可。同樣的,為了避免用戶使用這種方法顯示隱藏列,點擊“審閱→保護工作表”,然后按提示輸入保護密碼,這樣取消隱藏菜單就無法使用,可以更好地保護隱藏的內容(圖8)。
當然我們還可以根據自己的實際需要靈活使用“工作表的保護”,比如工作表中標題欄大多使用固定格式,如果希望只是保護標題欄的內容不被更改(其他內容可以編輯),可以執行如下操作。
選中文件中所有單元格,右擊選擇“設置單元格格式”,在打開的窗口切換到“保護”標簽,去除“鎖定”和“隱藏”前的勾選(圖9)。
返回工作表選中需要保護標題欄的單元格,同上進入單元格保護設置,勾選“鎖定”和“隱藏”選項。同上,點擊“審閱→保護工作表”,開啟工作表的保護。這樣該工作表的標題欄將自動保護,用戶試圖編輯的時候會被Excel拒絕,其他單元格則可以自由編輯,有效實現靈活保護(圖10)。