将文件另存为CSV UTF8给出错误1004

时间:2017-04-27 13:14:26

标签: excel vba csv utf-8 character-encoding

我想在许多单元格中保存包含中文字符的工作表的内容。我使用录制的宏获得了以下代码。

ActiveWorkbook.Sheets("input").SaveAs fileName:="D:\File1.csv", FileFormat:=xlCSVUTF8

但是当我运行它时,我得到运行时错误1004:方法SaveAs of object _workbook失败

如果我将FileFormat:=xlCSVUTF8更改为FileFormat:=xlCSV,那么它可以正常工作,但由于缺少UTF-8,中文字符会作为问号保存在CSV文件中。

如何保存CSV文件并在VBA中保留UTF-8编码?

1 个答案:

答案 0 :(得分:0)

Microsoft似乎在过去一两个月内向Excel添加了CSV UTF8保存选项。 User voice说这是9个月前发布的,但我知道我在5月份没有这个选项。

我今天在代码中使用了FileFormat:= xlCSVUTF8,它正确地保存了带有中文字符的CSV文件。我使用的是Excel 2016 MSO(16.0.7726.1049)32位。