Cod*_*e K 2 unicode ms-word character-encoding word-vba-mac
这是在Word for MAC VBA中.我想将Unicode字符从文本框保存到文本文件.例如,这个字符"⅛".
我用这个代码.
Dim N as Long
N = FreeFile
Dim strText as String
strText = Textbox1.Text 'This is what is in the textbox "?"
Open <file path> For Output As N
Print #N, strText
Close N
Run Code Online (Sandbox Code Playgroud)
它不保存Unicode字符.我知道我必须改变文本编码格式.我怎么做?
同样,如何使用Unicode格式读取文本文件?
我希望这也适用于Mac上的VBA for Word,但在Windows上我有FileSystemObject的CreateTextFile方法(参见MSDN doc).在那里,我可以定义创建一个unicode文本文件.
Set fsObject = CreateObject("Scripting.FileSystemObject")
Set xmlFile = fsObject.CreateTextFile("path/filename.txt", True, True) 'the second "true" forces a unicode file.
xmlFile.write "YourUnicodeTextHere"
xmlFile.close
Run Code Online (Sandbox Code Playgroud)
VBA 无法以这种方式以 UTF-8 编码文本。使用 ADODB - 是的,用于文本,而不是用于数据库。
'ensure reference is set to Microsoft ActiveX DataObjects library
'(the latest version of it) under "tools/references"
Sub AdoTest()
Dim adoStream As ADODB.Stream
Set adoStream = New ADODB.Stream
'Unicode coding
adoStream.Charset = "Unicode" 'or any string listed in registry HKEY_CLASSES_ROOT\MIME\Database\Charset
'open sream
adoStream.Open
'write a text
adoStream.WriteText "Text for testing: ?š?", StreamWriteEnum.stWriteLine
'save to file
adoStream.SaveToFile "D:\a\ado.txt"
adoStream.Close
End Sub
Run Code Online (Sandbox Code Playgroud)
阅读更简单,请在此处查看我的答案:
编辑:我已经插入了完整的例子。
编辑 2:添加了对注册表中编码列表的引用
| 归档时间: |
|
| 查看次数: |
7574 次 |
| 最近记录: |