【发布时间】:2014-08-08 13:05:05
【问题描述】:
我不得不通过 vba 脚本将 excel 文件导出到 csv 文件。 csv 文件必须是 utf-8 代码,并且分隔符是“|”
我使用 SetLocaleInfo 将列表分开设置为“|”,但它只影响“xlcsv”而不影响“xlunicodetext”。
Private Function SetLocalSetting(LC_CONST As Long, strSetting As String) As Boolean
SetLocaleInfo GetUserDefaultLCID(), LC_CONST, strSetting
End Function
SetLocalSetting LOCALE_SLIST, "|"
当使用“xlUnicodeText”时,编码为UTF-8,但列表分隔符仍为“Tab”
.SaveAs filename:="C:\temp\1.csv", FileFormat:=xlUnicodeText, Local:=True
当使用“xlCSV”时,列表分隔符仍然是“|”我需要什么,但代码页是 ANSI。
.SaveAs filename:="C:\temp\1.csv", FileFormat:=xlcsv, Local:=True
如何使用“|”导出 csv 文件分隔符和 UTF-8 ?
【问题讨论】:
-
你必须保持分隔符为|有什么办法吗?只是提出一个想法,也许你必须在 UTF-8 中引用它,请参阅fileformat.info/info/unicode/char/007c/index.htm
-
也许这很愚蠢,但是否可以以某种方式将语言环境代码页设置为 65001 ?