Есть список файлов 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]
Импорт происходит, но в половине ячеек слова превращаются в " аа́хен��ькі " Появляются знаки вопроса вместо букв. Кодировка не поддается, хз че делать. Настройки кодировки в винде не помогли. Помогите плз отредактировать код так, что бы импорт происходит корректно.
Есть список файлов 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
Очень интересно.Кодировка страницы 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)