Search code examples
file-iocommand-linenewlinefso

How to read lines from a text file one by one with Power Point VBA code?


This code will read a line from a text file:

set file = CreateObject("Scripting.FileSystemObject").OpenTextFile("c:\number.txt", 1)
text = file.ReadLine
MsgBox text

How can I make it read repeatedly one line after another from the same file? I guess, I should use a loop here, right? I need it to read the first line from the file at the first iteration, the second line at the second iteration, the third one at the third and so on till all the lines have been read. How can I do it?

Important addition: I need the code to operate on each line one by one - not all at once!


Solution

  • Use the ReadAll() method:

    text = file.ReadAll
    

    (Might be of interest: FileSystemObject Sample Code)

    With a loop:

    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Dim fso, MyFile, FileName, TextLine
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    FileName = "c:\testfile.txt"
    
    Set MyFile = fso.OpenTextFile(FileName, ForReading)
    
    '' Read from the file
    Do While MyFile.AtEndOfStream <> True
        TextLine = MyFile.ReadLine
    
        '' Do stuff to TextLine
    
    Loop
    MyFile.Close