在VBscript中,函数应该读取文件,但它有时从末尾开始,有时从顶部开始?

在VBscript中,函数应该读取文件,但它有时从末尾开始,有时从顶部开始?,vbscript,Vbscript,代码应该自上而下地读取一个文件,但有时它会自下而上地读取它 我想让它从上往下读,有没有办法告诉它从上往下读 以下是我的代码片段: 'Read lines Do Until objFile.AtEndOfStream Lineg = objFile.ReadLine Lineh = objFile.ReadLine Linei = objFile.ReadLine Linea = objFile.ReadLine Lineb = objFile.ReadLine Linec = objFile.R

代码应该自上而下地读取一个文件,但有时它会自下而上地读取它

我想让它从上往下读,有没有办法告诉它从上往下读

以下是我的代码片段:

'Read lines
Do Until objFile.AtEndOfStream
Lineg = objFile.ReadLine
Lineh = objFile.ReadLine
Linei = objFile.ReadLine
Linea = objFile.ReadLine
Lineb = objFile.ReadLine
Linec = objFile.ReadLine
Lined = objFile.ReadLine
Linee = objFile.ReadLine
Linef = objFile.ReadLine

这是在打开文件和顶部所需的所有内容之后进行的。然后关闭
直到
为止。

文本流按顺序读取文件;每个.ReadLine都将从文件中获取下一行(从上到下)。所以“有时它从下往上读,有时它从上往下读”是不可能的

更新wrt注释:

  • 不可能.ReadLine从文件中获取第i行并
    下一个.ReadLine使用j获取一行j这里有一种方法可以在vbscript和Excel VBA中使用:

    Sub tgr()
    
        Dim oFSO
        Dim arrLines
        Dim i
    
        Set oFSO = CreateObject("Scripting.FileSystemObject")
        arrLines = Split(oFSO.OpenTextFile("C:\Test\test.txt").ReadAll, vbCrLf)
    
        For i = LBound(arrLines) To UBound(arrLines)
            MsgBox arrLines(i)
        Next
    
        Set oFSO = Nothing
        Erase arrLines
    
    End Sub
    

    对不起,你能澄清一下吗?我不知道你的意思。抱歉。在这个文件中,它是按顺序读取的,但它从最后一行开始,然后从那里上升,但这只是产生了一个错误。非常感谢您的代码,它工作得非常出色,对我的文件不太合适,但您的代码将为其他有此问题的人完成工作。很抱歉,它对您的文件不太合适。我希望你能调整它以适应你的需要。如果您在这样做时遇到困难,请将不起作用的内容和您的需求发回,以便我们能够帮助您。