谁能帮忙写个宏代码,希望Excel到指定日期自动销毁,不提示!更改系统时间也不会受到影响

解决方案 »

  1.   

    你说的“销毁”是删除文件吗?
    一般只能实现“到达指定日期/时间之后不再执行操作”,要“自己删除自己”是不可能的,
     在“运行中”的文档,它处于“打开状态”,此时不能删除文件。
    如果要想“改系统时间也不受影响”,那么你只能通过获取网络时间来判断当前时间,
     不能以“本地时间”来判断,这就要求“要联网”。不过要想“自毁”可以有个变通方法,就是:
    当要想“自毁”时,通过代码,构造一个bat文件(或vbs等)并执行;
    然后立即“关闭自己”,这样“刚才被执行”的bat或vbs代码,就可以把“自己”删除了。
      

  2.   

    "希望Excel到指定日期自动销毁"是过期以后打开的时候自动删除自己吗?还是什么别的意思?
      

  3.   

    思路就是从时间服务器获取当前时间,然后通过VBA的宏指令自动将所有表格删除或是变成空值就可以了。但是禁用了宏就不行了吧。
      

  4.   

    禁用宏你就没辙了,或者另存成xlsx文件,或者表格内容拷贝到新的excel文件里去,或者外部引用文件数据…… 让你的宏失效办法多了去了。
      

  5.   


    要是我设计的,那“重点”就不是表格内的数据;
    就算数据重要,那么肯定是“加密”的,需要运行宏代码解密才能使用。
    他的需求是限时,在时间范围内是允许看到数据的,
    那就在时间范围内运行宏解密,然后Ctrl+A ,Ctrl+C,新开一个workbook Ctrl+V除非你的宏限制剪贴板,限制另存,限制打印…… 
    说不定你限制了一堆还给宏加了密,结果别人也懂得用vb C# 调用excel直接读取表数据
    说不定你在excel里面调试得好完美,结果人家用wps开,天晓得又出啥乱子了。
      

  6.   

    不好意思,没说明白
    有一个表格,里面有vba代码,打开后必须运行宏,所以宏肯定是启动的。
    现在公司可能会卸磨杀驴,所以想让我把软件交出去
    所以,我就想在我走后某一天,打开这个文件就会自动关闭,并且把这个表格删除。我怕他们会修改系统时间,所以想法是到时间打开自动关闭并且删除,修改系统时间也无效
    现在改了一下代码,打开工作表15分钟自动关闭并删除。
    看哪位大神能有办法解决修改系统时间这个问题
      

  7.   

    不好意思,没说明白
    有一个表格,里面有vba代码,打开后必须运行宏,所以宏肯定是启动的。
    现在公司可能会卸磨杀驴,所以想让我把软件交出去
    所以,我就想在我走后某一天,打开这个文件就会自动关闭,并且把这个表格删除。我怕他们会修改系统时间,所以想法是到时间打开自动关闭并且删除,修改系统时间也无效
    现在改了一下代码,打开工作表15分钟自动关闭并删除。
    看哪位大神能有办法解决修改系统时间这个问题
      

  8.   

    if 判断时间 or判断次数 then
    With ThisWorkbook
                .Saved = True
                .ChangeFileAccess xlReadOnly
                 Kill .FullName
                .Close
          End With
    end if