将.xlsx另存为vba中的不同目录

我正在尝试使用SaveAs方法将.csv文档保存为.xls文档。 但是,当我尝试指定文件夹时,它失败。

例如,它将保存到某个默认目录(我的文档,这不是我准备好的地方):

 Sub csv() Workbooks.Open Filename:="directory/tmp.csv" ActiveWorkbook.SaveAs Filename:="test.xlxs", FileFormat:=51, CreateBackup:=False End Sub 

但是这个失败了:

 Sub csv() Workbooks.Open Filename:="directory/tmp.csv" ActiveWorkbook.SaveAs Filename:="otherdirectory/test.xlxs", FileFormat:=51, CreateBackup:=False End Sub 

有没有不同的方式来指定目录?

使用FileFormat:=xlCSV

这对我有用。

 ActiveWorkbook.SaveAs Filename:="C:\test.csv", FileFormat:=6, CreateBackup:=False 

每当有疑问,logging一个macros:)

FileFormat常量是xlCSV 。 您可以键入FileFormat:=xlCSV ,也可以使用它的实际值6

编辑

我看到你已经编辑了这个问题:)让我再次通过它:)

有没有不同的方式来指定目录? 谢谢,

什么是你指定的确切path? 我使用了Filename:="C:\Users\Siddharth Rout\Desktop\Book1.xlsx" ,它完美的工作。

你可以做Siddarthbuild议并通过写出整个path来指定目录。 或者,如果您想让用户能够在保存时更改存储文件的目录,则可以使用:

ChDrive(filePath)ChDir(filePath)

其中filepath将成为与Application.GetSaveAsFilename一起使用的起始目录。 用户可以input文件的名称,或者根据需要更改目录。