很简单的一个读文本文件的语句段,tmp_TS.ReadLine竟然读出的数据不对,赋值给str_File时更离谱,赋的值也不对。
文本文件里面是数值,比如像“02900009176”的,tmp_TS.ReadLine读出来的是没有0,而且数字之间好像还有个空格。请教大虾,救命Dim tmp_TS
Dim fil_Set
Dim str_File As String
Dim str(500) As String
dim i as integer
Dim strPathFrom As String
strPathFrom = txtPathFrom.Text
i = 0Set oFSO = CreateObject("scripting.filesystemobject")
    Set fil_Set = oFSO.GetFile(strPathFrom)
    Set tmp_TS = fil_Set.OpenAsTextStream(ForReading)
    Do Until tmp_TS.AtEndOfStream
        str_File = tmp_TS.ReadLine
        str(i) = str_File
       
        i = i + 1
   Loop
   LineNum = i
   tmp_TS.Close
Set oFSO = Nothing

解决方案 »

  1.   

    到我的网站上看看,有读写文件的源码。VB资料->查询“打开和保存文件”;
    ====================
    免费的学习交流网站,欢迎大家访问!
    http://www.j2soft.cn/
      

  2.   

    不如用二进制方式读写:Private Sub Command1_Click()
    Dim b() As Byte, x() As String
    Open "c:\xx.txt" For Binary As #1
    ReDim b(LOF(1))
    Get #1, , b
    Close #1
    x = Split(StrConv(b, vbFromUnicode), vbCrLf)
    Erase b
    End Sub
      

  3.   

    如果楼主要一行一行数据读的话,建议直接用openDim tmp_TS
    Dim fil_Set
    Dim str_File As String
    Dim str(500) As String
    Dim i As Integer
    Dim strPathFrom As String
    strPathFrom = txtPathFrom.Text
    i = 0Open strPathFrom For Input As #1
        Do Until EOF(1)
            Line Input #1, str(i)
           
            i = i + 1
        Loop
       LineNum = i
    Close #1
    用FSO对象的话,还要声明出一个对象,比较耗费资源。
      

  4.   

    谢谢,问题解决,原来是读的文本文件格式不对,从EXCEL打开的文件不能直接粘贴到文本文件中。