如何在指定时间创建VBA备份脚本

时间:2016-07-27 09:31:30

标签: excel vba excel-vba

例如,我在网络驱动器中保存了一个excel文件。在该文件中,我想实现一个解决方案,该解决方案将在用户指定的时间内启用自动备份。

例如: File.xlsx

脚本将每天上午10:00,下午4:00和上午5:00备份此文件。那可能吗?

2 个答案:

答案 0 :(得分:1)

最好的方法是创建一个计划任务来运行将备份文件的批处理文件或脚本文件。

以下是计划任务的示例参数。

  

C:\ Windows \ System32 \ WScript.exe C:\ Excel Files \ backup.vbs"

将此脚本另存为backup.vbs

<强>的VBScript

Const FolderName = "C:\Excel Files\"
Const FileName = "Data.xlsm"
Dim fso, NewName, sb

Set sb = CreateObject("System.Text.StringBuilder")
sb.AppendFormat "{0:yyyy-MM-dd} {0,8:t}", CDate(Now)

NewName = Replace(sb.ToString(), ":" ,".") & " - " & FileName

Set fso = WScript.CreateObject("Scripting.Filesystemobject")

fso.CopyFile FolderName & FileName, FolderName & NewName,True

答案 1 :(得分:0)

使用下面这个子项,只需添加自己的备份保存宏BackupFile

Sub SetSchedule()

Application.OnTime TimeValue("5:00:00"), "BackupFile"

Application.OnTime TimeValue("10:00:00"), "BackupFile"

Application.OnTime TimeValue("16:00:00"), "BackupFile"

Application.OnTime TimeValue("23:59:00"), "SetSchedule"

End Sub

然后从开放子语言中调用它:

Sub Workbook_Open()

    Call SetSchedule

End Sub