Держу в excel каталог своей видеотеки, причем все названия фильмов, имена режиссеров и т.д. и т.п. стараюсь держать на языке оригинала. Языков много, поэтому все хранится в unicode-е. Недавно сделал on-line версию каталога и появилась необходимость периодически все это хозяйство синхронизировать. Делать это я собирался следующим образом - в excel написать макрос, который формировал бы xml файл в utf-8 нужного мне формата, потом этот файл подсовывать софту на сайте, который бы парсил этот файл и укладывал бы данные у себя в базу. Это все предыстория, теперь проблема: после чтения хелпа и главы 13 книги Гарнаева написал я нужный макрос и все бы было хорошо, да вот данные в файле сконвертированы из unicod-а то ли в win1251, то ли в iso8859p1, т.е. если у меня в ячейке стоит, например, Alejandro González Iñárritu, то, в файле, я получаю Alejandro Gonzalez Inarritu
- Код: Выделить всё
Open l_Filename For Output Access Write Lock Write As #1
Print #1, c_XMLHeader
Print #1, "<ROWSET>"
Worksheets(1).Activate
l_index = ActiveSheet.UsedRange.Rows.Count
For i = 2 To l_index Step 1
If ActiveSheet.Cells(i, 1).Value = "" Then
Exit For
Else
l_position = l_position + 1
Print #1, " <ROW num=" + Chr(34) + CStr(l_position) + Chr(34) + ">"
Print #1, " <POS_ID>"; CStr(l_position) + "</POS_ID>"
Print #1, " <RELEASE_DATE>" + CStr(ActiveSheet.Cells(i, 2).Value) + "</RELEASE_DATE>"
Print #1, " <DIRECTOR_NAME>" + Replace(Trim(ActiveSheet.Cells(i, 3).Value), Chr(10), _
"&br&") + "</DIRECTOR_NAME>"
Print #1, " <POS_TITLE>" + ActiveSheet.Cells(i, 1).Value + "</POS_TITLE>"
Print #1, "</ROW>"
End If
Next i
Print #1, "</ROWSET>"
Close #1
Так вот вопрос, все ли я делаю правильно? Можно ли средствами VBA получить unicode файл?
У меня русская Win2000 Prof SP4 и Excel 2002
PS Вопрос предварительно пробывовал погуглить, пояндексить но, видимо, не смог сформулировать нужный критерий поиска - попадался один мусор.