我需要Excel VBA代码将工作簿另存为非VBA Excel文件

我需要Excel VBA代码将工作簿另存为非VBA Excel文件,excel,vba,Excel,Vba,目前我正在打开一个文件,运行一些代码来清除条目,然后我想将该文件保存在一个新文件夹中 strFilefullname = ThisWorkbook.FullName x = InStr(1, strFilefullname, "2019") NewYear = 2020 newFileFullName = Mid(strFilefullname, 1, x - 1) & NewYear & Mid(strFilefullname, x + 4,len(strFilefullnam

目前我正在打开一个文件,运行一些代码来清除条目,然后我想将该文件保存在一个新文件夹中

strFilefullname = ThisWorkbook.FullName
x = InStr(1, strFilefullname, "2019")
NewYear = 2020
newFileFullName = Mid(strFilefullname, 1, x - 1) & NewYear & Mid(strFilefullname, x + 4,len(strFilefullname) - 62)
到目前为止,通过采用当前文件路径和名称:
I:\EUG\Eugene Timesheets\Bill's Timesheets\Timesheets\2019\5-May\5-Bill F-May 1-15 Timesheet.xls

并将其转换为:
I:\EUG\Eugene时间表\Bill的时间表\Timesheets\Timesheets\2020\5-May\5-Bill F-May 1-15时间表
(注意:在本例中,为了帮助您,请去掉文件扩展名。)

但当它涉及到代码的这一部分时

Dim wb As Workbook
Dim Path As String
Set wb = ThisWorkbook
Application.DisplayAlerts = False
Application.EnableEvents = False
wb.saveas Filename:=newFileFullName, FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
Application.EnableEvents = True
我收到运行时错误“1004”。对象“U工作簿”的方法“另存为”失败。
我的印象是,既然我打开了2019版,我应该能够将其保存为2020版,并通过这样做保持其宏自由。
我这样做是错误的吗?

旁注-与其使用
Mid
然后连接部件,为什么不使用
Replace
?还有-该文件夹存在吗?
…2020\5-可能
?您的文件格式必须与扩展名匹配,否则会出现故障,我的方法是将代码放在XLAM中文件,包括Excel中作为外接程序的文件,然后您可以打开XLS文件并对其进行修改,而无需首先向其添加任何代码。如果保存仍然存在问题,则可能是文件名有问题,或者目标文件夹不存在。