2012-06-21 48 views
1

有没有办法让宏保存名称中当前日期的文件。我想用正确的日期每天保存这个。保存宏的当前日期

这是我作为一个宏,很简单,但我有收到文件名当前日期公式(如果可能)

Sub Save() 
    ActiveWorkbook.SaveAs Filename:="X:\file06-21-2012\.xlsm", FileFormat _ 
    :=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False 
End Sub 

问题明天我想在马可将其保存为文件06-22-2012。

谢谢

回答

6

这样的?

Sub Save() 
    Dim FilePath As String 
    Dim NewName As String 

    FilePath = "X:\": NewName = FilePath & "file" & Format(Date, "MM-DD-YYYY") & ".xlsm" 

    ActiveWorkbook.SaveAs Filename:=NewName, FileFormat _ 
    :=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False 
End Sub 
+1

+1我们觉得这个很相似!我想每个人都在同一时间发布! –

+0

我得到编译错误错误的参数数量或无效的属性分配和格式突出显示? –

+1

@AdamG .:你是否像上面给出的那样完全复制代码? –

3

对于@ HeadofCatering的回答,我想所有人都应该尊重@更简单,更易读的方法。

Sub Save() 

Dim dtDate As Date 
dtDate = Date 

Dim strFile As String 
strFile = "X:\file" & Format(dtDate, "mm-dd-yyyy") & ".xlsm" 

ActiveWorkbook.SaveAs Filename:=strFile, FileFormat _ 
    :=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False 

End Sub 
+2

+ 1。 )顺便说一句,你可能想删除像dtDate这样的额外变量,并缩短你的代码:) –

+1

好点。虽然这是一种习惯,因为当我希望能够改变一次变量......但当然,这不适用于这个小块。 –