Dim fso As New FileSystemObject
Dim x As TextStream
Dim str As String
Set x = fso.CreateTextFile("G:\am.txt")
x.WriteLine ("abcdefg")
x.WriteLine ("hijklmn")
Do While x.AtEndOfLine = False
str = x.Read(1)
Debug.Print str
Loop
执行到do while语句时就会报错,54——文件模式错误。
到底怎么回事呀?难道写入后就不能读出了吗?请大家
帮帮忙。
谢谢!
Dim x As TextStream
Dim str As String
Set x = fso.CreateTextFile("G:\am.txt")
x.WriteLine ("abcdefg")
x.WriteLine ("hijklmn")
Do While x.AtEndOfLine = False
str = x.Read(1)
Debug.Print str
Loop
执行到do while语句时就会报错,54——文件模式错误。
到底怎么回事呀?难道写入后就不能读出了吗?请大家
帮帮忙。
谢谢!
正确写法:
Private Sub Command1_Click()
Dim fso As New FileSystemObject
Dim x As TextStream
Dim str As String
Set x = fso.CreateTextFile("G:\am.txt")
x.WriteLine ("abcdefg")
x.WriteLine ("hijklmn")
x.Close
'重新打开
Set x = fso.OpenTextFile("G:\am.txt", ForReading, False)
Do While Not x.AtEndOfLine
str = x.Read(1)
Debug.Print str
Loop
End Sub
如果要读取所有行,则应该使用AtEndOfStream