在星期五的日期自动将文件另存为文本

时间:2018-01-31 15:57:01

标签: excel vba excel-vba

我录制了一个宏,最后将工作簿保存为文本文件并关闭。

我想将文件名更改为星期五的日期,以便每周保存时文件名都不同。

这是宏录制的

ActiveWorkbook.SaveAs Filename:= _
    "C:\Users\username\Desktop\Temp\\File2218.txt" _
    , FileFormat:=xlText, CreateBackup:=False

我尝试将其更改为

ActiveWorkbook.SaveAs Filename:= _
    "C:\Users\username\Desktop\Temp\File" & Text(Today()+2, "mdyy")& txt" _
    , FileFormat:=xlText, CreateBackup:=False

(我做+2的原因是因为它总是在一个星期三完成,因此+2 =星期五)

但它没有用。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

C:\Users\username文件夹是否确实存在?您可能需要将username更改为您自己的用户名,或者像这样使用Environ$("Username")

"C:\Users\" & Environ$("Username") & "\Desktop\Temp\File" 

并确保该文件夹也存在,否则您将收到其他错误。

另外,使用DateAdd()添加天数:

NewDate = DateAdd("d", 2, Date)

Format$()对其进行格式化(Text()更多是工作表函数)

完成后,您最终会得到:

ActiveWorkbook.SaveAs Filename:= _
    "C:\Users\" & Environ$("Username") & "\Desktop\Temp\File" & _
     Format$(DateAdd("d", 2, Date), "mdyy") & ".txt" _
    , FileFormat:=xlText, CreateBackup:=False