在.vba中的不同目录中保存为.xlsx

时间:2012-05-07 20:46:38

标签: excel vba save save-as

我正在尝试使用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

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

2 个答案:

答案 0 :(得分:4)

使用FileFormat:=xlCSV

这适合我。

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

每当有疑问时,请记录一个宏:)

FileFormat常数为xlCSV。您可以键入FileFormat:=xlCSV,也可以使用实际值6

修改

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

  
    
      

指定目录有不同的方法吗?谢谢,

    
  

您指定的确切路径是什么?我使用了Filename:="C:\Users\Siddharth Rout\Desktop\Book1.xlsx",效果很好。

答案 1 :(得分:0)

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

ChDrive(filePath) ChDir(filePath)

其中filepath是与Application.GetSaveAsFilename一起使用的起始目录。然后,用户可以输入文件名或在需要时更改目录。