如何将一个函数放入File ... SaveAs的FileName参数?

时间:2016-06-20 13:21:20

标签: vba excel-vba excel

我正在尝试使用VBA创建文件,命名文件并在文件名中嵌入日期。在Mac Excel 2011中,如果" wb"如果是新创建的工作簿的参考,那说...就没问题了。

wb.SaveAs Filename:="Old_New_Cust" & Cstr(Date) & ".xlsm", FileFormat:=52

在Excel 2016和El Capitan中,此特定行显示错误,指出该文件已保存为9位数字,我无法找到。

每当我使用FileFormat参数时,都会导致错误,因此我将其删除以用于实验目的。我已经尝试将整个文件名(包括日期)放入一个字符串变量并运行... wb.SaveAs Filename:= xxx,:= FileFormat:= 52,其中xxx是引用文件名的不带引号的变量名。这将变量名称解释为文字。

" \ FileNameString"," $ FileNameString"," FileNameString"," / $ FileNameString",{{1 ,[FileNameString]。我收到一条错误消息,指出文件无法保存,文件保存为九位整数,或者VBA不会执行该行。

我能让它工作的唯一方法是使用文字名称作为文件名而不试图执行任何功能,如"日期"或" Cstr(日期)"在线。有人知道如何执行函数(就像我们以前一样)或者在使用FileName参数时从变量名中获取字符串吗?

1 个答案:

答案 0 :(得分:0)

这是我使用的东西,

Sub G5()
Dim Path As String
Dim filename As String
Path = "C:\Users\ME\Documents\Testing\" & _
               Range("G5") & "\" & theMonth & "\" 'change this path to whatever destination you want the files saved to
filename = Range("G5")
ActiveWorkbook.SaveAs filename:=Path & filename & "-" & Format(Date, "mmddyyyy") & ".xlsm", FileFormat:=52
End Sub