【问题标题】:Saving as .xlsx in different directory in vba在vba的不同目录中另存为.xlsx
【发布时间】:2012-05-16 08:42:52
【问题描述】:

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

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

【问题讨论】:

    标签: excel vba save save-as


    【解决方案1】:

    使用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",效果很好。

    【讨论】:

    • 反转斜线再试一次 :) "C:\Users\mikefree\Desktop\test.xlsx"
    • 很公平,谢谢。抱歉,我之前使用过正斜杠没有问题。
    【解决方案2】:

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

    ChDrive(文件路径) ChDir(文件路径)

    其中文件路径将是与 Application.GetSaveAsFilename 一起使用的起始目录。然后,用户可以键入文件名或根据需要更改目录。

    【讨论】:

      猜你喜欢
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-21
      相关资源
      最近更新 更多