就是例如我的input.txt为
1,2,3,3,3,3,
2,3,3,2,2,3,
4,2,2,3,2,5,
5,2,2,2,3,3,
我希望把第三行的6个变量读入程序,那应该如何写那句open语句呢?谢

解决方案 »

  1.   

    '引用microsoft script runtime
    Private Function ReadFileLine(cfile As String, cLine As Integer) As String
        Dim I As Integer
        Dim fsoTest As New FileSystemObject, file1 As File, ts As TextStream
        Set file1 = fsoTest.GetFile(cfile)
        Set ts = file1.OpenAsTextStream(ForReading)
        I = 1
        Do While Not ts.AtEndOfStream
            If I <> cLine Then
                ts.ReadLine
            Else
                ReadFileLine = ts.ReadLine
            End If
            I = I + 1
        Loop
        MsgBox "总行数" & I
        Set ts = NothingEnd FunctionPrivate Sub Form_Load()
     '  MsgBox "读取行的内容为:" & (ReadFileLine("f:\test.txt", 3))End Sub
      

  2.   

    要引用这个对象FileSystemObject 
    是不是还要设置一点什么呢?
    下面是msdn的资料这是一个有效的类型,但是定义它的对象库或类型库并没有在 Visual Basic 中注册。 
    请显示“引用”对话框,然后选择适当的对象库或类型库。例如,如果不复选“引用”对话框中的 Data Access Object,像 Database、Recordset、TableDef这样一些类型就不能被识别,在代码中引用它们便会产生此错误。
      

  3.   

    '引用microsoft script runtime
      

  4.   

    很感谢你,刚才我自己看了msdn也看到了是microsoft script runtime
    不过真的很感谢您,已经搞定了。
    不过我还有一点问题想问就是其实我想做的是利用
    Open filenamein For Input As #1
    Input #1, a,b,c,d,e,f
    这样来把2,3,2,2,3,3
    这六个数分别赋予变量,但现在把一行读出来后,怎样来做这种赋值呢?
      

  5.   

    可以利用Split函数把字符串转变为数组:
    Dim varArray() As String, s As String'由Split建立的数组下标通常是从0开始的
    s = "1,2,3,5,6,7"
    varArray() = Split(s, ",")
    调用时指明数组索引就可以了,如:
    text1.text=str(varArray(0))