2
A
回答
3
不是UTF-8,但UTF-16是什么VBA内部使用,这样你就可以直接倾倒字符串数据:
Dim fnum As Integer
fnum = FreeFile()
Open "utf16.txt" For Binary Access Write As fnum
'write UTF-16 Byte Order Marker
'
Put #fnum, 1, &HFE
Put #fnum, 2, &HFF
printLineUtf16 fnum, "Olá Mundo!"
Close #fnum
Function printLineUtf16(fnum As Integer, str As String)
str = str & ChrW(10) 'append newline
Dim data() As Byte 'coerce string to bytes
data = str
Put #fnum, LOF(fnum) + 1, data 'append bytes to file
End Function
这应该在Excel的Mac 2011年和2016年的工作,并在Windows版本中。请注意,您将无法在编辑器中输入Unicode字符串文字,只需简单重音的拉丁字母(如上面的“á”),但单元格的Value
中指定的字符串将保留为Unicode。
+0
乍一看,它似乎工作。如果以十六进制查看文件,可以看到Excel总是在最后添加位序列“000A00”。这会导致其他程序出错。 AS-IS:'printLineUtf16 fnum,“á”'='FEFF00E1 000A00' TO-BE:'FEFF00E1'任何想法如何解决? –
相关问题
- 1. 使用VBA从Excel生成VCards
- 2. Excel vba到mac
- 3. 生成使用VBA
- 4. 使用excel生成word文件在excel同一目录中vba
- 5. 将MySQL用于OUTFILE以生成Excel可读的UTF8数据
- 6. RegEx与VBA Excel在Mac
- 7. Excel 2011 Mac VBA Combobox值
- 8. fopen()使用Mac生成的Excel返回意外数组csv
- 9. Excel VBA - 生成零件编号
- 10. 自动复选框生成Excel VBA
- 11. VBA - 从访问生成Excel文件(QueryTable)
- 12. 如何从Excel VBA宏生成XML?
- 13. 使用VBA和Excel生成幻灯片演示文稿
- 14. 使用VBA为特定的Excel错误消息生成消息?
- 15. VBA:在Matlab生成的Excel文件中使用函数
- 16. 无法生成数据使用EXCEL VBA(运行时错误424)
- 17. 使用Excel VBA生成2D(PDF417或QR)条形码
- 18. 使用Excel VBA生成代码128条形码
- 19. Excel VBA - RemoveDuplicates方法不适用于Mac
- 20. Excel VBA自动生成的php表格由php生成
- 21. 使用Excel VBA
- 22. 使用Excel VBA
- 23. 在Mac excel 2011中使用vba显示“另存为”对话框使用vba
- 24. 使用vba记录picologger excel使用vba
- 25. 使用VBA的Excel
- 26. Excel中 - 使用VBA
- 27. 使用.formula使用vba excel
- 28. 使用VBA生成多个报表
- 29. 如何创建使用VBA新的Excel文件的Mac
- 30. 如何在MAC上使用VBA从Excel 16打开工作簿?
不,在Mac的Excel中没有办法做到这一点。您将需要使用完整的Excel客户端。 – TylerH
我还没有在Mac上完成VBA,但是如果你不能直接做,你可以用任何默认编码保存一个文本文件,然后让Apple Script改变编码,使用从VBA调用的AppleScript AppleScriptTask命令:https://msdn.microsoft.com/en-us/library/office/mt654021.aspx –