乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > Excel杀-Excel VBA工作薄 5.19工作薄到期自动删除 工作薄自杀功能

Excel杀-Excel VBA工作薄 5.19工作薄到期自动删除 工作薄自杀功能

作者:乔山办公网日期:

返回目录:excel表格制作

前景提要


在之前我们分享了设置工作薄有效期的方法,通过这个方法,当到了工作薄有效期的时候,工作薄就没有办法打开,等于也是保护了我们的数据,小伙伴们并不满足这样的功能,可能是我设置的提示窗口太low,大家想要实现的功能是工作薄到期之后自动删除,消失的无隐无踪,so,其实也不难,VBA中有一个kill方法,就是相当于工作薄的删除功能,来上代码


场景模拟


假设有同事拿到了我们传送的文件,我们依然希望对方只能在今天查看,在明天查看工作播的时候,工作薄的数据就看不到了,仅仅是提示工作薄坏了,似乎比较的low,那我们换种方式,到期之后一旦打开工作薄,则自动删除工作薄,消失的无隐无踪,你也可以理解为工作薄的自杀,哈哈


代码区


今天的功能想要实现,依然需要分为两个部分的代码来实现,让我们分布来一个一个的执行


第一步,依然是设置有效期


如果大家还有印象的话,应该记得有效期应该是在thisworkbook这里写的


Private Sub Workbook_Open() Dim time1, time2time1 = Datetime2 = #5/10/2019# '到期时间可以自行更改If time2 <= time1 Then Call KillThisWorkbookEnd IfEnd Sub

然后我们插入一个代码模块


Sub KillThisWorkbook()Application.DisplayAlerts = FalseWith ThisWorkbook .Saved = True .ChangeFileAccess xlReadOnly kill .FullName .CloseEnd WithApplication.DisplayAlerts = TrueEnd Sub

OK ,两段代码试行完毕,这里我们补充说明一点,在之前分享有效期的写法的时候,我们的到期时间写的太绝对的,如果正好到期的那天对方休息或者对方没有打开工作薄,代码的保护功能就失效了,所以今天我们这里更改下,利用时间大小的关系来进行判断


只要现在的日期大于等于我们设置的日期,多将会删除工作薄,不管是隔多少天之后打开,代码都是有效的


代码完成来看看效果


当工作薄被打开的时候,系统自动判断当前的时间,如果时间相等或者是大于我们设定的时间,都会执行删除工作薄的命令


然后代码进入了删除工作薄的模块,这里我们用断掉调试的方法才能看到代码的,实际打开的过程是一闪而过的


之前我们的工作薄是存在的


当执行了打开并且超过有效期之后,一闪而过之后,来看看文件夹


amazing,工作薄被成功的杀死了,这就是工作薄的自杀功能,之前需要此功能的小伙伴们快拿去用吧


温馨提示:


如果那自己的文件测试的时候,记得备份,否则。。。。amazing、、、、你会吃惊的。


=======================================================


OK。今天就分享到这里了,之前有很多的小伙伴们想要知道工作薄自动删除的方法,今天在完成了前期的计划内容的分享之后,也是将相关的方法展示出来,满足大家的需求,希望能够帮助大家,大家还有什么其他的需求也可以告诉小编


好了,明晚19:00,准时再见。


==============历史相关文章==============================


Excel VBA工作薄 5.16 设置工作薄打开使用次数 数据你只能看一次


Excel VBA工作薄 5.17关键数据给你看,对,只能看不能摸


Excel VBA工作薄 5.18 禁用宏功能就能阻止我的保护嘛?NO WAY!


相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网