VBA如何定期自动储存档案

所有Excel使用者的共同噩梦,就是突然间跳出一个窗口,微软温馨提示:Excel已经停止运作。虽然Excel设置有自动储存的功能,当机重开会自动开启备份文件、自动复原文件。然而,既然Excel常常带来意外惊喜,最好不要完全指望它,自己来比较保险。有过痛苦经验的人士,在编辑需要长时间进行的Excel档案时,应该都会提醒自己,想到了就储存一下,然后定期备份。不过,人脑总是有非常大的疏忽可能性,万一忘了,又万一中奬了,一切得重头再来,真的是伤不起。因此最好、最完美的解决方案,是让计算机自动储存及备份,这个VBA可以轻松达到,以下先分享自动储存的部份:

一、这是成本分摊的Excel工作表,较为复杂,在操作时最好能时刻储存,避免悲剧。

成本分摊的Excel工作表

二、Excel选项的「储存」区块,在此设定自动储存。

在Excel选项的「储存」区块

三、复制上个步骤的路径,贴到档案总管,进入Excel预先设置好的自动储存文件夹,里面是备份文件。

Excel预先设置好的自动储存文件夹

四、VBA的作法,在Excel工作表中按「Alt+F11」,进入VBA编辑环境,「插入」、「模块」。

在Excel工作表中按「Alt+F11」

五、输入下列VBA程序(每五分钟储存一次):

输入下列VBA程序

六、关闭VBA,回到Excel,快速组合键「Alt+F8」开启宏。

快速组合键「Alt+F8」开启宏

七、「宏」管理窗口中,可以看到在VBA以Sub建立的程序,选择「Autosave」,然后「执行」。

择「Autosave」,然后「执行」

八、打开Excel档案所在的文件夹,发现「修改日期」悄悄更新,表示自动储存正执行中。

发现「修改日期」悄悄更新

本篇文章介绍的是直接定期储存档案,Excel默认的自动储存功能,是把档案另外存一个地方。原文件储存较为直接、合乎一般的作业方式,但是另存新文件除了备份的功能之外,还有保留历史版本的作用。唯一的缺点,另存新档会额外占用空间,以一般Excel档案的大小而言,这部份应该是毋需考虑。下一节便以此篇文章的程序代码为基础,延伸介绍VBAV如何另存历史文件备份,并且细部说明程序代码。