Excel VBA saveas csv但是文件输出是错误的格式

嗨,我是新来的VBA,我想知道为什么文件输出,当我试图这个代码只是一个默认的文件,而不是CSV。 我通过macroslogging创build了这个代码。 我希望能够在工作表上将文件另存为csv。 我的代码如下

Sub Done() Sheets("Test").Select Range("A2:M3").Select Range("A2:M3").Copy Range("A2").PasteSpecial xlPasteValues Application.CutCopyMode = False Sheets("Test").Select ActiveWorkbook.Save ActiveWorkbook.SaveAs Filename:= _ Application.GetSaveAsFilename, FileFormat:= _ xlCSV, CreateBackup:=False ActiveWorkbook.Close SaveChanges:=False End Sub 

要将文件保存为csv,请尝试:

 Sub Done() Sheets("Test").Select Range("A2:M3").Select Range("A2:M3").Copy Range("A2").PasteSpecial xlPasteValues Application.CutCopyMode = False Sheets("Test").Select ActiveWorkbook.Save ActiveWorkbook.SaveAs Filename:="C:\filename.csv", _ FileFormat:=xlCSV, CreateBackup:=False ActiveWorkbook.Close SaveChanges:=False End Sub 

根据需要更改文件path和文件名。

编辑 :使用SaveAs对话框
________________________________________________________________________________

尝试这个:

 Sub Done() Sheets("Test").Select Range("A2:M3").Select Range("A2:M3").Copy Range("A2").PasteSpecial xlPasteValues Application.CutCopyMode = False Sheets("Test").Select ActiveWorkbook.Save fname = Application.GetSaveAsFilename(InitialFileName:="Test", FileFilter:="CSV (Comma delimited) (*.csv), *.csv", Title:="Save As") ActiveWorkbook.SaveAs Filename:=fname, FileFormat:=xlCSV End Sub 

当你打电话给ActiveWorkbook.SaveAs ,你需要用一个文件名replace“在这里input代码”:

  ActiveWorkbook.SaveAs Filename:= "MyFilename.csv"_ FileFormat:= xlCSV, CreateBackup:=False _ ActiveWorkbook.Close SaveChanges:=False 

一旦你有一个文件名,你可以保存该文件。 你可以select你想要的任何文件名,在这个例子中只需使用它来代替MyFilename.csv