VBA_using'线路输入'但失败了(错误62:输入文件末尾)

时间:2016-05-31 08:36:48

标签: excel-vba input eof vba excel

早上好,

我尝试编写代码以便: 1.打开一个文本。 file,包含文件列表 2.逐个打开列表中的文件 3.阅读每个文件中的内容并将其放入表格

我的代码在这里:

Private Sub Boutton_Importer_Click()

list_de_controle = "TEXT;" & listPath
Open listPath For Input As #1 'open the list

Do While Not EOF(1)  'read the list
    Line Input #1, nom_de_Fich
    ActiveCell = nom_de_Fich
    ActiveCell.Offset(0, 1).Select

    Open nom_de_Fich For Input As #2  'open a file in the list

    Do While Not EOF(1)  'read the contents in the list
        Line Input #2, contenu
        ActiveCell = contenu
        ActiveCell.Offset(0, 1).Select
    Loop
    Close #2

    ActiveCell.Offset(1, 0).Select  'go to the line below
    ActiveCell.End(xlToLeft).Select
Loop
Close #1
End Sub

您可能会发现Do While的两部分完全相同,但第一部分,对于列表,运行良好。 第二个,对于文件中的内容,总是失败。 你能帮我检查一下吗? 提前谢谢!

1 个答案:

答案 0 :(得分:2)

问题在于:

Do While Not EOF(1)  'read the contents in the list
    Line Input #2, contenu
    ActiveCell = contenu
    ActiveCell.Offset(0, 1).Select
Loop
Close #2

您告诉代码要从文件Line Input进行循环和#2,但条件是基于到达文件#1中文件的末尾。

由于您实际上没有移动文件#1,语句EOF(1)从不为真 - 此循环将运行并且不可避免地命中文件{{1此时您将收到错误

  

输入文件的结尾

解决您的问题:

尝试这样的事情:

#2