因此,在保存到我的VBA代码正在使用的当前XML文件之前,我想在VBA中创建XML文件的基于时间戳的备份。我打算这样做:
Sub CreateBackup()
Dim objFSO As FileSystemObject
Set objFSO = CreateObject("Scripting.FileSystemObject")
oldFilePath = ThisWorkbook.Path & "\DEMO.xml"
newFilePath = ThisWorkbook.Path & "\DEMO" & Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss") & ".xml.bak"
objFSO.CopyFile oldFilePath, newFilePath
End Sub
但是,每次我得到Bad Filename or Number error
时。我仔细检查了一下(使用调试器)我的变量正在读取带有filename的正确文件路径。有什么作用?
答案 0 :(得分:2)
:
。
替换
Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss")
与
Format$(DateTime.Now, "yyyy-MM-dd hh_mm_ss")
例如。
请注意,使用Format$()
返回的是字符串而不是变体(使用Format()
)。