У меня есть код, который конвертирует файлы в папку из .txt (с разделителем «|») в xslx, Но код отлично работает для некоторых файлов (когда я открываю его в excel) другие ошибаются, когда я пытаюсь импортировать ручку вручную вручную с помощью ленты excel (Получить внешние данные -> из текста), файлы верны.VBA Преобразование текстового файла разделителя в Excel
Это мой код:
Sub tgr()
Const txtFldrPath As String = "C:\...\txtFiles"
Const xlsFldrPath As String = "C:\excelFiles"
Dim CurrentFile As String: CurrentFile = Dir(txtFldrPath & "\" & "*.txt")
Dim strLine() As String
Dim LineIndex As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
While CurrentFile <> vbNullString
LineIndex = 0
Close #1
Open txtFldrPath & "\" & CurrentFile For Input As #1
While Not EOF(1)
LineIndex = LineIndex + 1
ReDim Preserve strLine(1 To LineIndex)
Line Input #1, strLine(LineIndex)
Wend
Close #1
With ActiveSheet.Range("A1").Resize(LineIndex, 1)
.Value = WorksheetFunction.Transpose(strLine)
.TextToColumns Other:=True, OtherChar:="|"
End With
ActiveSheet.UsedRange.EntireColumn.AutoFit
ActiveSheet.Copy
ActiveWorkbook.SaveAs xlsFldrPath & "\" & Replace(CurrentFile, ".txt", ".xlsx"), xlOpenXMLWorkbook
ActiveWorkbook.Close False
ActiveSheet.UsedRange.ClearContents
CurrentFile = Dir
Wend
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
эта картина показывает результат в Excel и исходный файл .txt
И ошибка -doesn't открыть файл? Не ограничивает это? Размер лимита не совпадает? Синтаксис кажется мне правильным. – Sgdva
@ Срдва, я добавляю картинку. – BKChedlia
Являются ли «неправильные» файлы из другого источника? –