在 Excel VBA 中,默认情况下输出的文本文件编码是 ANSI。如果你需要输出 UTF-8 编码的文本文件,可以使用 ADODB.Stream
对象来实现。以下是一个示例代码,演示如何在 Excel VBA 中输出 UTF-8 编码的文本文件。
Sub ExportToUTF8()
Dim filePath As String
Dim fileContent As String
Dim stream As Object
' 设置文件路径
filePath = "C:\path\to\your\file.txt"
' 设置文件内容
fileContent = "这是一个UTF-8编码的文本文件。" & vbCrLf & "This is a UTF-8 encoded text file."
' 创建 ADODB.Stream 对象
Set stream = CreateObject("ADODB.Stream")
' 初始化 Stream 对象
With stream
.Type = 2 ' 设置为文本模式
.Charset = "utf-8" ' 设置字符集为 UTF-8
.Open
.WriteText fileContent
.SaveToFile filePath, 2 ' 2 表示覆盖现有文件
.Close
End With
' 释放对象
Set stream = Nothing
MsgBox "文件已成功保存为 UTF-8 编码。"
End Sub
ADODB.Stream
对象:
Set stream = CreateObject("ADODB.Stream")ADODB.Stream
对象:
With stream .Type = 2 ' 设置为文本模式 .Charset = "utf-8" ' 设置字符集为 UTF-8 .Open .WriteText fileContent .SaveToFile filePath, 2 ' 2 表示覆盖现有文件 .Close End WithType = 2
:设置流的类型为文本。Charset = "utf-8"
:设置字符集为 UTF-8。Open
:打开流。WriteText fileContent
:将文本内容写入流。SaveToFile filePath, 2
:将流保存到文件,2
表示覆盖现有文件。Close
:关闭流。\
),请确保使用双反斜杠(\\
)或单反斜杠(\
)。ADODB.Stream
对象需要引用 Microsoft ActiveX Data Objects Library
,通常在大多数系统上默认可用。如果遇到问题,可以在 VBA 编辑器中通过 工具
-> 引用
检查并启用该库。通过上述代码,你可以在 Excel VBA 中成功输出 UTF-8 编码的文本文件。
领取专属 10元无门槛券
手把手带您无忧上云