VBA Excel宏使用UTF-8编码写入文件

8 浏览
0 Comments

VBA Excel宏使用UTF-8编码写入文件

我正在Excel中创建一个宏,用于处理电子表格并将内容(文本)写入文件。我需要将这个文件编码为UTF-8。我尝试使用OpenTextFile(... TristateTrue)和StrConv(.. vbUnicode)将文件作为unicode打开,但这只会将其转换为UTF-16。我在网上到处搜索,但找不到任何信息。这个有可能吗?

谢谢

0
0 Comments

VBA Excel Macro 使用 UTF-8 编码写入文件的问题是由于默认的编码方式不是 UTF-8 导致的。解决方法是使用 ADODB.Stream 对象来保存文件,并设置其 Charset 属性为 "utf-8"。

在上述代码中,首先创建了一个 ADODB.Stream 对象,并设置其 Type 属性为 2,表示保存文本/字符串数据。然后,通过设置 Charset 属性为 "utf-8",指定源文本数据的字符集为 UTF-8。接着,打开流并将二进制数据写入对象。最后,使用 SaveToFile 方法将二进制数据保存到磁盘上的文件中。

这样就可以使用 UTF-8 编码保存文件了。

参考链接:Save text file UTF-8 encoded with VBA

0