将xls文件转换为文件名包含[]的csv

时间:2019-04-24 14:45:20

标签: excel vba

XLS文件需要转换为CSV(所有格式均已删除),因此可以通过VBA宏读取它们。不幸的是,xls文件名包含[],因此当我尝试将它们保存在vba中时,它将失败,并显示运行时错误“ 1004”标准错误“请确保文件名不包含... [] 如果我手动保存xls文件(将文件另存为csv),它说格式会丢失,但是会保存文件。有没有办法让我的VBA做到这一点并有效地忽略显示的运行时错误'1004'?

我尝试了“替换”将文件保存到临时文件名。 ActiveWorkbook.SaveAs Replace(xSPath和“ \”&“ TEMP_file_only.csv”,“。xls”,“。csv”,vbTextCompare)

然后我打开临时文件,并使用Name将其重命名为CSV      将临时文件名命名为OldFileAsCSV

不幸的是,这保留了xls格式,因此csv文件对宏没有任何好处。它不会删除格式。

如果我尝试将xls另存为csv,则会出现运行时错误,因为文件名中有[],这很不幸。

  ActiveWorkbook.SaveAs FileName:=xCSVFile, FileFormat:=xlCSVMSDOS, Local:=True

我希望Application.DisplayAlerts = false将忽略1004错误,但是由于文件名包含[],我想这是一个有效的失败。但是,如果我手动将文件保存到csv,它将起作用并删除格式。无论如何,vba中是否可以使用文件名中的[]将xls保存到csv? 提前非常感谢

0 个答案:

没有答案