I need to run a macro that refreshes and saves a file at a specific time every day, so I can leave the file open over the weekend and get a file from Friday/Saturday/Sunday night.

I have the savefile macro working:


Sub savefile()
'
' savefile Macro
'

'
    ChDir "Y:\Stock Valuation Epicor\2013\May 2013"
    ActiveWorkbook.SaveAs Filename:= _
        "Y:\Stock Valuation Epicor\2013\May 2013\TotalStockPosition " & Format(Now, "yyyy-mm-dd hh-mm-ss"), _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
and have then put the following in the workbook code so that it runs at the correct time:


Private Sub Workbook_Open()

    Application.OnTime TimeValue("03:00:00"), "Sheet1.RefreshQuery"
    
    Application.OnTime TimeValue("04:00:00"), "savefile"

End Sub
However when I leave it on at the weekend, it will run and save the file at 4am on Saturday morning, but will not run again for the Sunday and Monday morning, unless I close and reopen the file. Any ideas on how I can get it to run again?

Any help much appreciated. Thanks.