【发布时间】:2020-11-20 13:49:35
【问题描述】:
我正在尝试循环浏览一个文本文件。我对该文件的每一行进行具体检查,以了解它是否会被粘贴。我正在使用以下代码。但是使用 EOF 会阻止我访问最后一行,这有时很有用。
Dim buffer As String
Open file For Input As #1
Line Input #1, buffer
i = 1
j = 1
Do Until EOF(1) And i > coll(coll.Count)
If i = coll(j) Then
ListSplit = Split(buffer, ",") 'Split the line with "," delimiter
'...
j=j+1
End If
Line Input #1, buffer
i = i + 1
Loop
Close #1
【问题讨论】:
-
把测试放在循环的结尾而不是开始。
-
我在最后加上:Do .... Loop until EOF(1) 但它看起来不起作用,我有同样的问题。
-
如果 j>coll(coll.count) 应该是真的吗
-
这部分可以去掉。即使仅对 EOF 进行测试,它也不起作用。不考虑最后一行。
标签: vba while-loop readfile eof do-loops