如何修改VBA代码为导出的CSV文件名末尾添加当前日期时间戳
解决方案
你只需要用VBA内置的日期格式化函数,将当前日期拼接在原文件名后即可,修改后的完整代码如下:
Sub CreateNewCSV2() ' 定义存储路径、文件名、时间戳的变量 Dim savePath As String Dim baseName As String Dim timeStamp As String ' 生成格式为YYYYMMDD的8位日期戳,符合示例命名要求 ' 如果需要精确到秒避免同天运行覆盖文件,可改为 Format(Now(), "YYYYMMDDHHMMSS") timeStamp = Format(Date, "YYYYMMDD") ' 拼接完整保存路径 savePath = "C:\Project Files\Personal\" baseName = "PersonalFinances" Range("A4:AK32").Select Selection.Copy Workbooks.Add ActiveSheet.Paste Application.CutCopyMode = False ActiveWorkbook.SaveAs Filename:=savePath & baseName & timeStamp & ".csv", FileFormat:=xlCSV, CreateBackup:=False End Sub
关键修改说明
- 核心通过
Format(Date, "YYYYMMDD")生成标准格式的日期字符串,直接拼接在基础文件名与后缀之间即可实现需求 - 拆分了路径、基础文件名、时间戳的变量定义,后续需要调整保存位置、命名规则时修改更便捷
- 如果需要每次运行生成的文件都不重复,只需要把
Date改为Now(),同时把格式化字符串调整为"YYYYMMDDHHMMSS",就能生成精确到秒的时间戳
内容的提问来源于stack exchange,提问作者user14875147
相关产品推荐
相关产品推荐

