Выбор, импорт и текстовые файлы Txt с разделителями - PullRequest
0 голосов
/ 05 августа 2020

Очень новинка, чтобы превзойти VBA здесь. Пытался создать код для выбора, импорта и разделения txt-файлов, и я застрял.

В основном каждый txt-файл будет в том же формате и в тех областях, где мне нужно будет ограничить, большое спасибо за помощь!

fileToOpen = Application _ 
 .GetOpenFilename("Text Files (*.txt), *.txt") 

Selection.TextToColumns DataType:=xlDelimited, _ 
 ConsecutiveDelimiter:=True, Space:=True, FieldInfo:=Array( _
        Array(0, 1), Array(8, 1), Array(20, 1), Array(61, 1), Array(102, 1), Array(120, 1), Array( _
        126, 1), Array(131, 1), Array(143, 1), Array(153, 1), Array(162, 1), Array(173, 1), Array( _
        188, 1), Array(201, 1), Array(212, 1), Array(231, 1), Array(250, 1), Array(267, 1), Array( _
        284, 1), Array(296, 1), Array(304, 1)), TrailingMinusNumbers:=True

1 Ответ

0 голосов
/ 05 августа 2020

Предполагая, что команда TextToColumns настроена правильно, вам просто нужно убедиться, что вы открываете текстовый файл как новую книгу и указываете правильный диапазон для работы.

Вы можете попробовать это, например:

Dim fileToOpen As String
fileToOpen = Application _
 .GetOpenFilename("Text Files (*.txt), *.txt")
 
Dim wb As Workbook
Set wb = Workbooks.Open(Filename:=fileToOpen)

wb.Activesheet.UsedRange.TextToColumns DataType:=xlDelimited, _
 ConsecutiveDelimiter:=True, Space:=True, FieldInfo:=Array( _
        Array(0, 1), Array(8, 1), Array(20, 1), Array(61, 1), Array(102, 1), Array(120, 1), Array( _
        126, 1), Array(131, 1), Array(143, 1), Array(153, 1), Array(162, 1), Array(173, 1), Array( _
        188, 1), Array(201, 1), Array(212, 1), Array(231, 1), Array(250, 1), Array(267, 1), Array( _
        284, 1), Array(296, 1), Array(304, 1)), TrailingMinusNumbers:=True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...