在特定时间运行VBA代码

我发现这个网站上的下面的代码“保存Excel文件为CSV”是否有任何方式与你的帮助,我可以在特定的时间(每晚晚上11点)自动运行此代码,并将文件名称保存为当前date(hr2015-05-05),任何帮助将不胜感激。 谢谢

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim Sourcewb As Workbook Dim Destwb As Workbook Dim TempFileName As String With Application .ScreenUpdating = False .EnableEvents = False .DisplayAlerts = False End With Set Sourcewb = ActiveWorkbook TempFileName = Sourcewb.FullName + ".csv" 'Copy the sheet to a new workbook ActiveSheet.Copy Set Destwb = ActiveWorkbook 'Save the new workbook and close it With Destwb .SaveAs Filename:=TempFileName, FileFormat:=xlCSV, ConflictResolution:=xlLocalSessionChanges .Close SaveChanges:=False End With With Application .ScreenUpdating = True .EnableEvents = True .DisplayAlerts = True End With End Sub 

编辑固定标签问题

我会做这两种方式之一。

一个将通过Windows任务调度。 你将在哪里设置一个任务来打开Excel并以这种方式运行。 请参阅http://www.mrexcel.com/forum/excel-questions/302970-task-scheduler-vbulletin-script-auto-open-excel.html

要么

使用代码

Application.OnTime TimeValue("23:00:00"), SUBNAMEHERE

SUBNAMEHERE更改为代码所在的子部分。 不知道它是否会运行之前的保存部分

编辑添加代码来具有文件名

更改TempFileName = Sourcewb.FullName + ".csv"

TempFileName = Sourcewb.FullName & " hr" & format(now,"YYYY-MM-DD") & ".csv"