【问题标题】:Saving files as CSV using VBA - currently saving multiple files as worksheets使用 VBA 将文件另存为 CSV - 当前将多个文件另存为工作表
【发布时间】:2014-10-31 19:01:38
【问题描述】:

我最初的问题是找出如何将 12000 行的文件分成 1000 行的单个文件并保留标题。我找到了一个很棒的问答(只对行数进行了一次调整),链接在这里:How to split spreadsheet into multiple spreadsheets with set number of rows?

我唯一需要的是让脚本将文件保存为 CSV 而不是工作表,但我在脚本中看不到任何明显的定义文件类型供我更改的内容。仅供参考,我非常对此很陌生!

提前致谢

【问题讨论】:

标签: vba excel csv


【解决方案1】:

正如上面 cmets 中@vba4all 所提到的,Workbook.SaveAs 的表达式是

expression .SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)

您可以访问this msdn article 了解更多信息。

要将工作簿另存为 csv,您必须使用

ActiveWorkbook.SaveAs Filename:="C:\Test.csv", FileFormat:=xlCSV

请注意,当您将工作簿保存为带有或不带有代码的 csv 时,Excel 都会提示您进行确认。为避免这种情况,您可以将Application.DisplayAlerts 设置为False

这是一个例子

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\Test.csv", FileFormat:=xlCSV
Application.DisplayAlerts = True

要了解有关文件格式的更多信息,您可能需要查看this msdn 链接

【讨论】:

  • 有点不公平,他说他对此很陌生,所以给了他直接代码示例。
  • 另外,他的问题指出“他唯一需要的是将文件保存为 CSV”,他在他的问题中说明了 12k 行的解决方案!?
  • 点了。从评论中删除了该部分。 - 1 表示尝试根据别人的建议获得积分 :) 您的直接代码示例并没有比 msdn 示例做得更好。它把代码放在盘子里,甚至没有解释代码的实际作用。
  • 如果你在@vba4all 之前发布了那行代码,我不会拒绝你:)
  • 公平的......不过,不要认为它需要太多解释 ;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-13
  • 2019-09-30
  • 2023-03-21
  • 2011-11-11
  • 2016-03-13
  • 1970-01-01
相关资源
最近更新 更多