Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Кодировка файла тхт слетает при импорте через макрос - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Кодировка файла тхт слетает при импорте через макрос (Макросы/Sub)
Кодировка файла тхт слетает при импорте через макрос
dizzy1222 Дата: Среда, 06.01.2021, 11:21 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Есть список файлов txt, в них есть примерно такие слова: аа́хенський, аа́хенського и.д.
Нужно импортировать содержимое каждого файла в отдельную ячейку эксель.
Использую код:

[vba]
Код
Sub ReadTextFileFSO()

Dim LR As Long, i As Long

Dim objFile As Object, objFS As Object
Dim strFullFileName As String
Dim strRead As String

LR = Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
For i = 1 To LR
strFullFileName = Cells(i, 1).Value
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFile = objFS.OpenTextFile(strFullFileName, 1, True)
strRead = objFile.ReadAll
objFile.Close
Cells(i, 2).Value = strRead
Set objFS = Nothing: Set objFile = Nothing
strRead = vbNullString
Next
Application.ScreenUpdating = True
MsgBox "Task Complete"
End Sub
[/vba]

Импорт происходит, но в половине ячеек слова превращаются в " аа́хен��ькі "
Появляются знаки вопроса вместо букв. Кодировка не поддается, хз че делать. Настройки кодировки в винде не помогли.
Помогите плз отредактировать код так, что бы импорт происходит корректно.
К сообщению приложен файл: 4872668.txt (49.6 Kb)


Сообщение отредактировал dizzy1222 - Среда, 06.01.2021, 11:43
 
Ответить
СообщениеЕсть список файлов txt, в них есть примерно такие слова: аа́хенський, аа́хенського и.д.
Нужно импортировать содержимое каждого файла в отдельную ячейку эксель.
Использую код:

[vba]
Код
Sub ReadTextFileFSO()

Dim LR As Long, i As Long

Dim objFile As Object, objFS As Object
Dim strFullFileName As String
Dim strRead As String

LR = Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
For i = 1 To LR
strFullFileName = Cells(i, 1).Value
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFile = objFS.OpenTextFile(strFullFileName, 1, True)
strRead = objFile.ReadAll
objFile.Close
Cells(i, 2).Value = strRead
Set objFS = Nothing: Set objFile = Nothing
strRead = vbNullString
Next
Application.ScreenUpdating = True
MsgBox "Task Complete"
End Sub
[/vba]

Импорт происходит, но в половине ячеек слова превращаются в " аа́хен��ькі "
Появляются знаки вопроса вместо букв. Кодировка не поддается, хз че делать. Настройки кодировки в винде не помогли.
Помогите плз отредактировать код так, что бы импорт происходит корректно.

Автор - dizzy1222
Дата добавления - 06.01.2021 в 11:21
doober Дата: Среда, 06.01.2021, 11:59 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Очень интересно.Кодировка страницы charset windows-1251 ,
а файла utf8[vba]
Код

Dim strRead As String, objOleCvt  as Object
Set objOleCvt = CreateObject("OlePrn.OleCvt.1")
'' ...........
strRead = objFile.ReadAll
strRead=objOleCvt.ToUnicode(strRead, 65001)
[/vba]


 
Ответить
СообщениеОчень интересно.Кодировка страницы charset windows-1251 ,
а файла utf8[vba]
Код

Dim strRead As String, objOleCvt  as Object
Set objOleCvt = CreateObject("OlePrn.OleCvt.1")
'' ...........
strRead = objFile.ReadAll
strRead=objOleCvt.ToUnicode(strRead, 65001)
[/vba]

Автор - doober
Дата добавления - 06.01.2021 в 11:59
dizzy1222 Дата: Среда, 06.01.2021, 12:56 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Спасибо огромное! Все заработало как нужно!
Приложу сюда файл для таких же специалистов как я.
К сообщению приложен файл: 5121622.xlsm (15.6 Kb)
 
Ответить
СообщениеСпасибо огромное! Все заработало как нужно!
Приложу сюда файл для таких же специалистов как я.

Автор - dizzy1222
Дата добавления - 06.01.2021 в 12:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Кодировка файла тхт слетает при импорте через макрос (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!