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 –