使用 VBA 将电子表格保存为 *.csv 时出现问题

Posted

技术标签:

【中文标题】使用 VBA 将电子表格保存为 *.csv 时出现问题【英文标题】:Problem saving a spreadsheet as *.csv using VBA 【发布时间】:2019-06-10 15:19:14 【问题描述】:

问题是我正在尝试将这个电子表格(我已经打开并保存为 *.xlsx)保存为 *.csv 文件,并且我遇到错误 Runtime error 1004 Method 'SaveAs' of object '_Workbook '失败。

这是针对 Excel 2016 的。

Dim FilePath as string

FilePath = "U:\CAP Data - Every Month\ISEAdHoc\" & FileMonth & FileYear & "\"

Dim ISEAdHoc_FileName_CSV As String

ISEAdHoc_FileName_CSV = "ISEAdHoc_" & FileMonth & "CAP_" & Format(Now(), "YYYYMMDD") & "_" & Format(Now(), "HHMMSS")

Dim FileNameforCSVandPath As String

FileNameforCSVandPath = FilePath & ISEAdHoc_FileName_CSV & ".csv"

Sheets("ISEAdHoc").Activate

'ActiveWorkbook.SaveAs Filename:=FilePath & ISEAdHoc_FileName_CSV, FileFormat:=xlCSV, CreateBackup:=False, Local:=True

Workbooks(FileNameforCSVandPath).Close SaveChanges:=True

我希望将文件保存为 *.csv。但由于某种原因,我不断收到错误“运行时错误 1004 对象 '_Workbook' 的方法 'SaveAs' 失败。”请帮忙!

【问题讨论】:

如果我可以建议采用this answer from today 中列出的方法,我想你会发现你的问题。 【参考方案1】:

您的代码似乎可以正常工作。验证您的 U: 驱动器是否正确映射。

我能够复制您的代码并且它对我有用。

【讨论】:

请不要将问题作为答案发布。 @Damian 嗯,这是代码失败的正当理由,并且在 40 代表时无法发布 cmets - 已编辑到声明中 @MathieuGuindon 就像现在一样,是的。但他是在向 OP 询问。那不是答案。

以上是关于使用 VBA 将电子表格保存为 *.csv 时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 VBA 密码保护进行保存时出现错误消息“运行时错误‘1004’:对象‘_Workbook’的方法‘SaveAs’失败”

VBA 另存为 CSV 文件被第一张表覆盖

连接 VBA SQL 语句中的字段时出现错误 424

尝试在映射服务器上将 XLSM 保存为 CSV 时出现“对象 _workbook 的方法保存失败”错误

Selenium VBA Excel - 单击 iframe 中的链接时出现问题

使用 SolidWorks API 将装配体另存为零件 (C++) 时出现 swGenericSaveError