たとえば、ネットワークドライブにExcelファイルを保存しています。このファイルでは、ユーザーが指定した時間に自動バックアップを有効にするソリューションを実装したいと考えています。 File.xlsx指定時間にVBAバックアップスクリプトを作成する方法
スクリプトは、バックアップ、このファイルのすべての午前10時、午後4時から5:00 AM:たとえば
。それは可能でしょうか?
たとえば、ネットワークドライブにExcelファイルを保存しています。このファイルでは、ユーザーが指定した時間に自動バックアップを有効にするソリューションを実装したいと考えています。 File.xlsx指定時間にVBAバックアップスクリプトを作成する方法
スクリプトは、バックアップ、このファイルのすべての午前10時、午後4時から5:00 AM:たとえば
。それは可能でしょうか?
使用以下このサブだけ自分自身のバックアップ・セーブマクロを追加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
スケジュールを作成することです最善の方法をファイルをバックアップするバッチまたはスクリプトファイルを実行するタスク。
次に、スケジュールされたタスクのパラメータの例を示します。
C:\ WINDOWS \ System32に\ WScript.exeはC:\ Excelファイルの\ 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
ファイルをホストしているマシンで直接タイムアウトタスクを実行する(ファイルをどこかにコピーする)ことは、誰かが与えられたときにこのファイルを使って作業することを "望んでいる"時間... –
ちょうど別の提案、あなたはタスクスケジューラでいくつかのバッチスクリプトを書くことができます。 –