Импорт и разделение текстового файла

Я пытаюсь написать код, который позволит мне импортировать внешний текстовый файл и отформатировать его по столбцу.

Я пробовал несколько разных методов, и я думаю, что разграничение — лучший метод для того, что я хочу сделать.

Sub Import_TxtFile()
Dim TXT As Range


Open "C:\Users\hpeshek\Desktop\Excel Testing\Test 3.txt" For Input As #1

'Run the procedure while it is not at the end of the file
Do While Not EOF(1) 'Loop until End of File
Line Input #1, TXT  'Read line into variable

'I think if i can get the following to work then the import will be successful

TXT.TextToColumns _
Destination:=Range("A1:"), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=True, _
Semicolon:=False, _
Comma:=False, _
Space:=False, _
Other:=False, _
OtherChar:=False


Loop
Close #1 'Close file



End Sub

Я думаю, что моя проблема в том, что я не могу отформатировать TXT как диапазон для функции TextToColumns. Кто-нибудь знает, как это должно обозначаться?


person ahamhpesh    schedule 18.06.2019    source источник


Ответы (1)


У вас есть запятая и подчеркивание в конце параметра «OtherChar», которого, вероятно, не должно быть, поскольку это конец строки. Вы также неправильно пишете «False» как «Flase» в той же строке, за исключением того, что в документах говорится, что OtherChar — это вариант, а не логическое значение. Может ли это быть частью проблемы?

Многие из этих параметров являются необязательными и имеют те же значения по умолчанию, что и заданные вами значения, поэтому вам лучше их не указывать.

person droopsnoot    schedule 18.06.2019
comment
Да спасибо! Это избавило от синтаксической ошибки. Однако теперь он выделяет TXT в строке TXT.TextToColumns и выдает ошибку Invalid Qualifier. Вы знаете, почему это так? - person ahamhpesh; 18.06.2019
comment
Документ предполагает, что для TextToColumns требуется объект Range, а не входная строка. У меня мало или совсем нет опыта работы с VBA, поэтому я не могу помочь дальше, я боюсь. - person droopsnoot; 18.06.2019
comment
Хорошо, спасибо за вашу помощь! Попробую переключиться на диапазон. - person ahamhpesh; 18.06.2019