核心原理
当下信息时代,数据安全性和时效性成为发展的重要因素,以下跟大家讲讲如何实现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环境;
- 收件人收到邮件之后把内容拷贝到另一张工作表中利用;
- 宏被禁用或者其它各种未知的情况。