早上好,
我尝试编写代码以便: 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的两部分完全相同,但第一部分,对于列表,运行良好。 第二个,对于文件中的内容,总是失败。 你能帮我检查一下吗? 提前谢谢!
答案 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