我有以下 VBA 代码:
Sub read_in_data_from_txt_file()
Dim dataArray() As String
Dim i As Integer
Const strFileName As String = "Z:\sample_text.txt"
Open strFileName For Input As #1
' -------- read from txt file to dataArrayay -------- '
i = 0
Do Until EOF(1)
ReDim Preserve dataArray(i)
Line Input #1, dataArray(i)
i = i + 1
Loop
Close #1
Debug.Print UBound(dataArray())
End Sub
我试图从文件中逐行读取文本(假设“sample.txt”是常规 ascii 文件),并将这些数据分配给数组中的连续元素。
当我运行它时,我将所有数据都存储在数组的第一个值中。
例如,如果“sample.txt”是:
foo
bar
...
dog
cat
我希望这些单词中的每一个都位于一个连续的数组元素中。
你拥有的一切都很好;如果一切都结束了dataArray(0)
那么文件中的行没有使用CrLf
分隔符所以line input
正在抓住一切。
Instead;
open strFileName for Input as #1
dataArray = split(input$(LOF(1), #1), vbLf)
close #1
假设分隔符是VbLf
(它会来自 *nix 系统)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)