ActiveWorkbook.SaveAs 中的 Now() 函数

function Now() in ActiveWorkbook.SaveAs

我不明白为什么宏每次都使用此代码保存文件名为 .xl 和一些数字的文件,如 filename.xl105:

ActiveWorkbook.SaveAs ("C:\Users\username\Desktop\" & "Fname " & Format(Now(), "DD.MM.YYYY" & ".xlsm")), _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

like (from ".xlsm") sm 是函数的一部分。生成的文件名看起来像 Fname.xl105、Fname.xl35、Fname.xl254 等...有些想法?

您的“.xlsm”在 Format.

Format(Now(), "DD.MM.YYYY" & ".xlsm") returns 06.05.2021.xl105
Format(now(),"xlsm") returns xl355

我猜它使用 xlsm 作为符号 - m 代表月份(因此它在五月返回 5)。

使用

ActiveWorkbook.SaveAs ("C:\Users\username\Desktop\" & "Fname " & Format(Now(), "DD.MM.YYYY") & ".xlsm"), _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False  

此外,Fname 看起来像一个变量,但您将其用作字符串。也许使用:

ActiveWorkbook.SaveAs ("C:\Users\username\Desktop\" & Fname  & Format(Now(), "DD.MM.YYYY") & ".xlsm"), _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False