【问题标题】:Open and Save a New Workbook as CSV file (delimited)打开新工作簿并将其另存为 CSV 文件(分隔)
【发布时间】:2014-11-03 20:49:46
【问题描述】:

我有一本大约有 30 张纸的工作簿。每张纸都有自己的宏。然后,一个名为“主页有宏。其中一个合并所有工作表,创建一个组合的新工作表。我需要另一个宏,单击它时,打开一个新工作簿,从工作表“组合”复制数据并将其保存为自己的工作簿,并将其命名为“跟踪导入文件(今天日期).CSV”(分隔)我可以让它完成所有这些,除了 CSV 文件的格式与我手动执行时不同。目前我让这个宏也为另一张工作表执行此操作,但该工作表被保存为正常的工作簿扩展,它工作得很好。这是我现在拥有的代码:

Set wb = Workbooks.Add
ThisWorkbook.Sheets("Back Order Follow up Report").Copy Before:=wb.Sheets(1)
wb.SAVEAS "S:\Production Department\Backorder Follow up reports\Back Order Follow up Report." & Format(Date, "MM.DD.YY") & ".xlsx"

*Set wb = Workbooks.Add
ThisWorkbook.Sheets("Combined").Copy Before:=wb.Sheets(1)
wb.SAVEAS "S:\Production Department\Tracking import\Tracking Import FileTEST." & Format(Date, "MM.DD.YY") & ".csv"*

End Sub

【问题讨论】:

  • 如果您使用不带参数的WorkSheet.Copy,则无需添加工作簿。复制的工作表将创建一个新工作簿,该工作簿将成为活动工作簿。
  • 我不知道为什么这不再起作用了。从字面上看,它运行了 2 天,效果很好,而且毫无理由地无法正常工作。

标签: excel csv autosave vba


【解决方案1】:

在 wb.SaveAs 方法中有第二个可选参数,它告诉 Excel 将文件保存在什么格式中。仅将“.csv”放在文件末尾并不能使其成为 CSV,这只是一个姓名。要另存为 CSV,请使用:

wb.SAVEAS "S:\Production Department\Tracking import\Tracking Import FileTEST." & Format(Date, "MM.DD.YY") & ".csv", xlCSV

【讨论】:

  • 所以这工作了 2 天,现在我收到运行时错误 429 activeX 组件无法创建对象。这是什么意思?还有 JBARKER 2160。我将如何使用您所写的 worksheet.cop 功能重新编写代码?
  • 否 它发生在 ThisWorkbook.Sheets("Combined").Copy Before:=wb.Sheets(1) 行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 2015-03-01
  • 1970-01-01
相关资源
最近更新 更多