首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带你做一个EXCEL重要机密文件阅后即焚的特工

第一步我们需要记录下文档打开的次数,通过这个记录来确定文件第几次被打开,我们需要用到自定义文档的属性,打开-文件-信息-属性-高级属性-自定义,在名称输入opentimes(可以按自己的喜欢的名字命名),类型选数字,取值设为0,即当前打开次数为0

接下来在Excel中按ALT+F11打开VBA编程界面,我们输入如下代码:

简单介绍下代码含义:

Private Sub Workbook_Open() '这个是打开文件簿就会触发以下动作,文件一定要在Thisworkbook下操作,不然不起作用

Dim opentimes As Integer '定义打开次数为整数型opentimes=ThisWorkbook.CustomDocumentProperties("opentimes")._Value + 1 '给opentimes赋值,打开一次增加1

If opentimes > 3

ThenThisWorkbook.ChangeFileAccess xlReadOnly

Kill ThisWorkbook.FullName

Application.Quit

'如果打开次数大于3,文件簿格式设为只读文件,然后删掉

Else

ThisWorkbook.CustomDocumentProperties("opentimes").Value = opentimes

ThisWorkbook.Save

'如果小于等于3,把打开次数更新,然后文件进行保存,这里不会删除文件

End If

End Sub

异常处理

实际操作过程中会出现各种异常情况,我以Microsoft Office 2010来举例,在写完代码保存的时候会出现这样的情况:

解决办法:直接点“是”!

居然还弹出一个窗口阻止我!先点击确定。

解决方法: 点击 Office按钮 Excel选项 信任中心 信任中心设置 个人信息设置 文档特定设置,取消勾选“保存时从文件属性中删除个人信息”复选框。

局限性

1.    收件人改后缀;

2.    收件人收到之后有意无意多拷贝几份;

3.    收件人的计算机不支持VB环境;

4.    收件人收到邮件之后把内容拷贝到另一张工作表中利用;

5.    宏被禁用或者其它各种未知的情况。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210313A02Z3200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券