在运行宏时,Excel运行完行,因为它在XLS中。
我希望在开始时将文件保存为XLSX,然后在刚刚保存的XLSX文件上继续运行宏。它应该具有与XLS相同的名称。
我的宏位于另一个Excel工作簿中。我输入要使用的Excel工作簿的路径"C2“,然后运行宏。
我有下面的代码来保存为XLSX,但是它给了我一个错误:
aWbookIworkWith.SaveAs Filename:=myFileName, FileFormat:=xlOpenXMLWorkbook错误是:
运行时错误“1004”: 无法访问该文件。尝试以下方法之一: 确保指定的文件夹存在。 ·确保包含文件的文件夹不是只读的。 ·确保文件名不包含以下任何字符:<>?:\x或* 确保文件/路径名称不超过218个字符。
发布于 2018-10-23 08:35:10
尝试使用与原始名称相同的名称,但让FileFormat参数确定文件扩展名。
dim myFileName as string
if lcase(right(aWbookIworkWith.fullname, 4)) = ".xls" then
myFileName = left(aWbookIworkWith.fullname, len(aWbookIworkWith.fullname)-4)
aWbookIworkWith.SaveAs Filename:=myFileName, FileFormat:=xlOpenXMLWorkbook
else
debug.print "not an XLS workbook"
end if当然,包含此代码的VBA项目不应该与aWbookIworkWith放在同一个工作簿中,因为XLSX不能包含VBA项目。为此使用XLSM或XLSB文件格式。
https://stackoverflow.com/questions/52944331
复制相似问题