Мне нужно импортировать текстовые файлы в листы Excel.Текстовые файлы поступают как с Mac, так и с ПК и содержат символы разных языков.Для Excel 2004 (ПК) я успешно использовал код vba, как показано ниже, для преобразования текста в кодировке Mac в кодирование на ПК:
Worksheets("A").Cells.Clear
pth = Application.GetOpenFilename()
With Worksheets("A").QueryTables.Add(Connection:="TEXT;" & pth, _
Destination:=Worksheets("A").Range("A1"))
.TextFilePlatform = 10000
.TextFileColumnDataTypes = Array(xlTextFormat)
.Refresh
End With
Worksheets("A").QueryTables(1).Delete
Я пытаюсь использовать аналогичный код для Excel 2011 для преобразования кодировки с ПКна Mac, используя
.TextFilePlatform = xlWindows '=2
, как это предлагается при запуске устройства записи макросов.Выполнение импорта вручную прекрасно работает, меняя кодировку с ПК на Mac, но программа vba, запущенная в Excel 2011, вообще не меняет кодировку.Параметр TextFilePlatform может (в моей версии Excel 2011; версии на разных языках здесь могут отличаться) быть установленным на 1, 2 или 3 (любое другое целое число от -1000000 до 1000000 дает ошибку 5), и результирующий текст выглядит именно такто же самое для этих трех случаев.Существуют ли какие-либо другие настройки, которые отвергают мою попытку конвертировать кодировку текста?Любое предложение с благодарностью!
Редактировать: я подтвердил, что код с .TextFilePlatform = xlWindows правильно переводит кодированный в Windows текст в кодировку Mac для Excel 10 (2001) и Excel 11 (2004), в отличие от случая для Excel 2011, описанного выше,