核心原理
當下信息時代,數據安全性和時效性成爲發展的重要因素,以下跟大家講講如何實現Excel表中的數據在分發給他人閱讀之後就自動被刪除的功能,注意,這個刪除是物理刪除,不是單純地做個記號或者放到回收站,適用於重要文件、檔案文件、人事相關文件的傳輸與分發工作,使用時請注意場合!
VB代碼如下:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
Application.Quit
End Sub
注意關閉之前保存工作簿並將其賦複製幾份(複製之後千萬不要打開了,打開之後只要關閉,就會被刪除掉——閱後即焚就是這個道理),複製好的那些工作簿就能發給別人了,別人只要收到這個工作簿,看完之後,就不會再留有樣稿。當然,使用之前不要告訴對方這是一份閱後即焚的工作簿,不然人家自己拿到之後多複製幾份,這方法就沒有什麼卵用了。這時候
具體步驟
- 新建Excel文件:
- 在工作表裏寫一些內容
- 選擇開發者選項或者直接快捷鍵Alt+F11調出開發者工具
- 選擇This Work Book選項並雙擊:
- 雙擊之後看到如下界面
- 把我在上面給的代碼複製之後粘貼到空白的代碼區域
7.保存一下,退出來,退到文件夾中把這個工作簿拷貝一下
8.分發給他人,這個工作簿就是隻能被打開一次的工作簿。
異常處理
實際操作過程中會出現各種異常情況,我以Microsoft Office 2010來舉例,在寫完代碼保存的時候會出現這樣的情況:
解決辦法:直接點“是”!
居然還彈出一個窗口阻止我!先點擊確定。
解決方法: 點擊 Office按鈕 Excel選項 信任中心 信任中心設置 個人信息設置 文檔特定設置,取消勾選“保存時從文件屬性中刪除個人信息”複選框。
如圖:
7. 文件菜單
2.選項窗口
3.信任中心
4.信任中心設置
5. 個人信息選項
6. 保存時刪除個人信息勾掉
7. 點擊確定
8. 再次回到代碼區域
9. 保存文件,並關閉【記得保存完在外部拷貝幾份】。
10.大功告成!——艾孜爾江撰稿!
侷限性
- 收件人改後綴;
- 收件人收到之後有意無意多拷貝幾份;
- 收件人的計算機不支持VB環境;
- 收件人收到郵件之後把內容拷貝到另一張工作表中利用;
- 宏被禁用或者其它各種未知的情況。