如何解决VBA 文本框到 UTF-8 文本文件
我有一个 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
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。