分享

【跟我学Excel VBA】第十八课:自杀的工作簿

 L罗乐 2017-02-09

        我们在淘宝上做Excel VBA定制,有时候会遇到奇葩的客户,当你把文件发给他测试之后,他会以各种理由来告诉你这个软件不合适,然后又说不出原理,然后要求退货。


        所以,针对这类的客户,有时候我们会发所谓的测试版本给他,并明确告诉他这个用了多少次之后会自动删除。在确认好评之后,会发正式版本。当然,这类事情发生的概率是相当小的,毕竟大部分人还是比较诚信的。


        今天我们来聊一个简单的话题,怎样实现工作簿的自杀,并能实现打开N次之后实现自杀。



        事实上,实现工作簿自杀的方式其实是将工作簿永久删除(回收站是找不到的哟),步骤如下:


        1、先将工作簿设置成只读(读写状态下的文件是不可删除的);

        2、删除工作簿(工作簿仍然是打开状态,但硬盘上的文件却消失了);

        3、关闭工作簿(如果不关闭,人家一另存,又有了!嘿嘿)。


        过程其实很简单,我们来看以下代码:




        那我们想在工作簿打开N次之后实现自动自杀怎么办呢?


        首先,我们需要在工作簿的属性里面添加一个记录次数的属性,虽然可以直接在设置里面添加,但是我们现在学习的是VBA,所以也直接用代码吧。



        以上代码在编辑完成之后必须手动执行一次哟,切记。另外,执行之后最好是删除掉。


        其次,就是编写自动打开触发程序(即事件)来记录一共打开了多少次,代码如下:



        就这三段代码放在一个新建的模块中,就可以实现文件的自动自杀功能了。前面我们已经普及过,sub auto_open也是工作簿打开事件。


        有同学估计会问了。如果别人不打开宏怎么办呢?如果别人破解了VBE工程密码,并删除了代码呢?



        

       有时候我们不需要考虑那么多,如果你怕别人不启用宏,那么你可以把关键的工作表进行深度隐藏,不启用宏就不能使用;那如果你怕他能破解代码并删除代码,我在想,如果他有这技术,他也不用找人写代码了。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多