2012-06-27 2 views
1

Я создаю макрос в excel, который обрабатывает электронную таблицу и записывает содержимое (текст) в файл. Мне нужно, чтобы этот файл был закодирован как UTF-8. Я попытался открыть файл как unicode, используя OpenTextFile (... TristateTrue) и StrConv (.. vbUnicode), но только конвертирует его в UTF-16. Я искал всюду в Интернете и ничего не нашел. Возможно ли это?VBA Excel Macro пишет файл с использованием кодировки UTF-8

благодаря

+0

Поиск VBScript/VB6, которые очень тесно связаны, часто полезно; http://stackoverflow.com/questions/4125778/unicode-to-utf-8 –

+0

спасибо! это сработало. Я новичок в vb, поэтому я не знал, что вы можете использовать ту же команду для него. – jasonhughes

ответ

0
Dim fsT As Object 
Set fsT = CreateObject("ADODB.Stream") 
fsT.Type = 2 'Specify stream type - we want To save text/string data. 
fsT.Charset = "utf-8" 'Specify charset For the source text data. 
fsT.Open 'Open the stream And write binary data To the object 
fsT.WriteText "special characters: äöüß" 
fsT.SaveToFile sFileName, 2 'Save binary data To disk 

Ссылка: Save text file UTF-8 encoded with VBA

+1

Если вы ссылаетесь на другой ответ SO, то это, вероятно, лучше всего помечено как дубликат. – Chrismas007