我如何逐行读取文本文件并使用 VBA 放入 excel sheet 单元格?读取行不起作用

How can i read a text file line by line and put into excel sheet cell using VBA? Read line is not working

我正在使用以下代码。它不是将数据逐行放入单元格中,而是将所有数据放入一个单元格中。附上图片供您参考。还附上了我正在阅读的示例文本文件。 请注意,当我尝试在写字板中打开此文本文件并保存时,它工作正常。

Click here to download sample txt file that is having this issue

 Sub Test_ReadFromTxtToArray()

 Dim FSO As Object, MyFile As Object
 Dim FileName As String, Arr As Variant

 FileName = "C:\Test\O0000540.txt" ' change this to your text file full name
 Set FSO = CreateObject("Scripting.FileSystemObject")
 Set MyFile = FSO.OpenTextFile(FileName, 1)
 Arr = Split(MyFile.ReadAll, vbCrLf) ' Arr is zero-based array


 'For test
 'Fill column A from this Array Arr

 Sheet2.Range("A1").Resize(UBound(Arr) + 1, 1).Value = Application.Transpose(Arr)

End Sub

碰巧您提供的下载文件有 LF 作为 EOL,所以您的 Split 方法没有分割任何东西。

但是如果您不知道 EOL 怎么办?

这应该有效:

S = MyFile.readall
 
 S = Replace(S, vbCrLf, vbLf)
 S = Replace(S, vbCr, vbLf)

 Arr = Split(S, vbLf)

换句话说,将可能存在的任何内容更改为已知的 EOL,然后拆分。 您可能需要为 MAC.

做一些不同的事情