• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 184
  • Last Modified:

Read a file

Hi guys,

I have a text file that has lines like these:

32/12/3312#__/__/____#__:__ __#__:__ __#1
31/23/123_#__/__/____#__:__ __#__:__ __#5
_3/12/312_#__/__/____#__:__ __#__:__ __#9

How can I read this file line by line?

Thanks.
0
Yury Merezhkov
Asked:
Yury Merezhkov
1 Solution
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
Something like...

    Dim ff As Long
    Dim fileName As String
    Dim inputLine As String
   
    ff = FreeFile
    fileName = "c:\someFile.txt"
    Open fileName For Input As #ff
    While Not EOF(ff)
        Line Input #ff, inputLine
       
        ' do something with "inputLine"...
        Debug.Print inputLine
    Wend
    Close #ff
0
 
JReamCommented:

Dim fso As New FileSystemObject
Dim MyFile as File, inputLine$

Set MyFile = fso.OpenTextFile("c:\testfile.txt", ForReading)

While not MyFile.AtEndOfStream

   inputLine = MyFile.ReadLine

   Debug.Print inputLine

Wend

MyFile.Close


0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
For JReam's code to work, you need a reference to the Scripting Runtime.  Click on Project --> References and check the "Microsoft Scripting Runtime" entry.

Then you need to change the declaration for the "MyFile" variable as it should be a "TextStream" and not a "File":

    Dim fso As New FileSystemObject
    Dim MyFile As TextStream
    Dim inputLine As String
   
    Set MyFile = fso.OpenTextFile(("c:\testfile.txt", ForReading)
    While Not MyFile.AtEndOfStream
        inputLine = MyFile.ReadLine
        Debug.Print inputLine
    Wend
    MyFile.Close

~IM
0
 
Patrick MatthewsCommented:
Hi RealSnaD,

Using JReam's approach, but no reference required:

    Dim fso As Object
    Dim MyFile As Object
    Dim inputLine As String
   
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set MyFile = fso.OpenTextFile("c:\testfile.txt", ForReading)
    While Not MyFile.AtEndOfStream
        inputLine = MyFile.ReadLine
        Debug.Print inputLine
    Wend
    MyFile.Close

    Set MyFile = Nothing
    Set fso = Nothing

Regards,

Patrick
0
 
Yury MerezhkovDevelopment Team LeadAuthor Commented:
Thanks you all. Idle_Mind you were first with a working solution.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now