yuandjing 发表于 2009-1-22 17:19:03

请求路过的大侠帮忙看一个VBS读取文本文件指定行的函数

函数功能:读取文本文件指定行
问题描述:对于操作的这个html我一直是按照文本文件格式写入的,但是使用这个函数读取的时候:读取前25行都正常,读取25行以后就越界了
          我用myfile.readall查看了一下,只读取到了25行之前的文本,好奇怪,这是为什么啊
小弟先谢过各位大侠啦

HTML请保存至D盘
调用函数和函数代码如下:

MsgBox ReadLine("d:\report.html", 28)

Function ReadLine(pathway, rowcount)
Dim fso,myfile,i,flag
flag = 1
Set fso=CreateObject("scripting.FileSystemObject")
If fso.FileExists(pathway) then
Set myfile = fso.openTextFile(pathway,1,false)
Else
flag = 0
End If

For i=1 to rowcount-1
If Not myfile.AtEndOfLine Then
myfile.SkipLine
tempp = myfile.Line
End If
Next

If flag = 1 Then
If Not myfile.AtEndOfLine Then
ReadLine = myfile.ReadLine
Else
ReadLine = "overflow"
'ReadLine = myfile.ReadLine
End If
myfile.close
Else
ReadLine = "file not exist"
End If
End Function

yuandjing 发表于 2009-1-22 17:29:34

发现问题了,只要把html的那行空行去掉就OK了
难道空行会影响?奇怪了

honsongj 发表于 2009-1-22 20:12:36

出乎意料

yuandjing 发表于 2009-1-23 10:15:34

原帖由 honsongj 于 2009-1-22 20:12 发表 http://bbs.51testing.com/images/common/back.gif
出乎意料
哎,今天又出问题了,用ReadAll读不全信息
附上都不全的html,这次去掉了所有空行还是都不全,郁闷
难道是微软的Bug?

Call stringInFile("C:\Framework\report\2009-1-22-172722\MyTest\login.html")

Function stringInFile(fileFullPath)
       
                Dim fso,myfile
                Set fso=CreateObject("scripting.FileSystemObject")
                Set myfile = fso.openTextFile(fileFullPath,1,false)
                temp = myfile.ReadAll
                MsgBox temp

End Function

[ 本帖最后由 yuandjing 于 2009-1-23 10:45 编辑 ]

yuandjing 发表于 2009-1-23 11:02:11

已解决,谢谢
页: [1]
查看完整版本: 请求路过的大侠帮忙看一个VBS读取文本文件指定行的函数