我需要这个问题的帮助,我在文本文件(.txt)中有多行作为示例
我必须检查每一行的第三个元素(第一行中的0005)是否与下一行的第二个元素(第二行中的0005)相同,我必须继续检查每一行(第二行中的0009与0009)在第三行)
我如何检查价值是否相等?也许放在阵列?
感谢您的回答
答案 0 :(得分:0)
保持阵列太过分了。只保留两个变量,一个在数组中包含一行元素,另一个包含下一个元素。类似的东西:
Option Explicit
Dim fso,f,problem, i, lineone, linetwo
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(WScript.Arguments.Item(0),1,true)
lineone = Split(Trim(f.ReadLine))
i = 1
problem = false
Do While f.AtEndOfStream <> True
linetwo = Split(Trim(f.ReadLine))
i = i+1
If lineone(2) <> linetwo(1) Then
MsgBox "Problem at line " & i
problem = True
Exit Do
End If
lineone = linetwo 'for next pass through the loop
Loop
f.close
If Not problem Then MsgBox "File is Okay"
当我向脚本提供以下文件时:
0001 0002 0005 0007
0004 0005 0009 0004
0004 0009 0006 0004
0004 0006 0006 0004
0004 0006 0006 0008
脚本打印“文件正常”
但是当我把它送到这个文件时:
0001 0002 0005 0007
0004 0005 0009 0004
0004 0006 0006 0004
0004 0006 0006 0004
0004 0006 0006 0008
脚本打印“第3行的问题”
我没有进行任何错误检查来处理文件中少于两行的情况,或者某些行缺少预期的条目数。显然,你应该让它更健壮。