【问题标题】:Why is VBA creating a folder on ActiveWorkbook.SaveAs为什么 VBA 在 ActiveWorkbook.SaveAs 上创建一个文件夹
【发布时间】:2016-12-10 04:48:18
【问题描述】:

我有这个 VBA:

ActiveWorkbook.SaveAs Filename:=Path & Filename & ".xls"
ActiveWorkbook.Close

这应该将当前活动的工作簿或工作表保存到提供的路径和文件名。使用扩展名“.xls”,以便导出的文件是 Excel 97-2003 工作簿。

它保存工作簿或工作表,但其中包含一个文件夹。假设文件名为“Master.xls”,ActiveWorkbook.SaveAs 有效,但 VBA 似乎在其旁边包含一个名为“Master_files”的文件夹,就好像它被保存为 Web 文件一样。我怎样才能禁用它?

请注意,该工作表来自在线数据库,当我单击链接将记录导出到 Excel 工作表时,它不会下载它,而是直接从 Web 将其打开到我的 Excel 应用程序,这就是我创建此 SaveAs 的原因代码。

【问题讨论】:

  • 您是声明Path 为变量,还是使用ThisWorkbook.Path
  • 你有 / 在 Path 和 Filename 之间将路径和文件名分开吗?

标签: vba excel


【解决方案1】:

我相信你需要明确指定格式:

ActiveWorkbook.SaveAs Filename:=Path & Filename & ".xls", FileFormat:=xlExcel8

否则,它将与_files 一起保存为 HTML,因为您是从 Web 获得的(我认为)。 MSDN 说:

对于现有文件,默认格式是最后指定的文件格式

我猜你的情况是 HTML。

xlExcel8 是每个Ron de Bruin's reference 用于.xls 文件的常量。

【讨论】:

  • 啊,我们走了。我检查了可用的常量,但如果你没有告诉我使用 xlExcel8,我不知道该使用哪一个,因为他们都没有说“Excel 97-2003 Workbook”:D
猜你喜欢
  • 2015-05-26
  • 2021-04-05
  • 1970-01-01
  • 2014-10-05
  • 1970-01-01
  • 2021-06-04
  • 1970-01-01
  • 1970-01-01
  • 2011-10-03
相关资源
最近更新 更多