Извлечь данные из текстового файла в Excel - PullRequest
0 голосов
/ 08 марта 2019

Я сейчас работаю над проектом по извлечению данных. Программа предложит пользователю ввести количество текстовых файлов, которые они хотят извлечь. После этого пользователь выберет нужные ему файлы. Однако извлеченные данные основаны только на первом выбранном текстовом файле. Как мне решить эту проблему?

Private Sub CommandButton1_Click()
    Dim fileStringBasic As String
    Dim i As Integer
    Dim k As Integer
    Dim iFile As Integer: iFile = FreeFile
    k = InputBox("Give me some input")

    For i = 1 To k
        fileStringBasic = Application.GetOpenFilename()

        If fileStringBasic <> "False" Then
            Open fileStringBasic For Input As #iFile
            Do Until EOF(iFile)
                Line Input #iFile, textline
                Text = Text & textline
            Loop

            Close #iFile
            pos1 = InStr(Text, "Datalog report")
            pos2 = InStr(Text, "BOARD PN")
            pos3 = InStr(Text, "BOARD SN")
            pos4 = InStr(Text, "TESTER")
            pos5 = InStr(Text, "DEVICE")
            pos6 = InStr(Text, "USER NAME")
            Range("A" & ActiveCell.Row).Value = Mid(Text, pos1 + 18, 11)
            Range("B" & ActiveCell.Row).Value = Mid(Text, pos2 + 18, 10)
            Range("D" & ActiveCell.Row).Value = Mid(Text, pos3 + 18, 8)
            Range("E" & ActiveCell.Row).Value = Mid(Text, pos4 + 18, 9)
            Range("F" & ActiveCell.Row).Value = Mid(Text, pos5 + 18, 11)
            Range("H" & ActiveCell.Row).Value = Mid(Text, pos6 + 18, 11)
        End If
        Selection.Offset(1, 0).Select
    Next i
End Sub

1 Ответ

1 голос
/ 08 марта 2019

Вы должны очистить переменный текст в начале цикла

For i = 1 To k
    Text = ""
    fileStringBasic = Application.GetOpenFilename()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...