为什么VBA要在ActiveWorkbook.SaveAs上创建文件夹

为什么VBA要在ActiveWorkbook.SaveAs上创建文件夹,vba,excel,Vba,Excel,我有一个VBA: ActiveWorkbook.SaveAs Filename:=Path & Filename & ".xls" ActiveWorkbook.Close 这是为了将当前活动的工作簿或工作表保存到提供的路径和文件名中。使用扩展名“.xls”,以便导出的文件是Excel 97-2003工作簿 它保存工作簿或工作表,但其中包含一个文件夹。假设文件名为“Master.xls”,ActiveWorkbook.SaveAs可以工作,但VBA旁边似乎包含一个名为“Mast

我有一个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代码的原因。

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

ActiveWorkbook.SaveAs Filename:=Path & Filename & ".xls", FileFormat:=xlExcel8
否则,它将与
\u文件一起保存为HTML,因为它是从Web上获得的(我想)。说:

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

我猜这是针对你的情况的HTML


xlExcel8
是每个
.xls
文件使用的常量。

您是将
Path
声明为变量,还是使用
此工作簿.Path
?您是否在Path和Filename之间使用/between将路径与文件名分开?啊,开始了。虽然我检查了可用的常量,但如果您不告诉我使用xlExcel8,我就不知道该使用哪一个,因为它们都没有显示“Excel97-2003工作簿”:D