VBA 文本框到 UTF-8 文本文件

VBA Textbox to UTF-8 Textfile

我得到了一个 VBA 脚本,用于将用户窗体文本框的输入保存到文本文件中。 问题是它以 ANSI 编码而不是 UTF-8 编码保存它。

有办法改变吗?

这是我的代码:

Private Sub CommandButton1_Click()
Call WriteFile("C:\Zuschauer.txt", TextBox1)
End Sub

Sub WriteFile(ByRef Path As String, ByRef Text As String)
  Dim FileNr As Long
  FileNr = FreeFile
  Open Path For Output As #FileNr
  Print #FileNr, Text;
  Close #FileNr
End Sub

下面的代码使用 ADODB.Stream,因此您需要在项目中添加对 Microsoft Active Data Objects 6.1 Library 的引用(6.1 以外的版本也可以)。

Sub WriteUnicodeUTF8File(ByVal FileSpec As String, ByVal data As String)
    With New ADODB.Stream
        .Type = adTypeText
        .Charset = "UTF-8"
        .Open
        .WriteText data
        .SaveToFile FileSpec, adSaveCreateOverWrite
        .Close
    End With
End Sub

根据您的具体情况,您可能需要选择不同的选项,例如 adSaveCreateOverWrite