.ReadLine
won't work in your case, because it depends on the existence of a vbLf
character. If you don't want to re-encode the line breaks you can do either what Panayot Karabakalov suggested (if the file is large), or read the entire file and split it at vbCr
(if the file is not-so-large):
text = objFSO.OpenTextFile("C:\Path\To\My\File.csv").ReadAll
For Each line In Split(text, vbCr)
MsgBox line
Next
Re-encoding the file can be done like this:
Set fso = CreateObject("Scripting.FileSystemObject")
filename = "C:\path\to\your.csv"
Set infile = fso.OpenTextFile(filename)
Set outfile = fso.OpenTextFile(filename & ".tmp", 2)
Do Until infile.AtEndOfStream
c = infile.Read(1)
If c = vbCr Then
outfile.Write vbCrLf
Else
outfile.Write c
End If
Loop
infile.Close
outfile.Close
fso.DeleteFile filename, True
fso.MoveFile filename & ".tmp", filename
Or you could use something like recode
for the conversion. Most text editors (e.g. Vim, Notepad++, SciTE, UltraEdit, …) can do this kind of conversion, too.