(这个问题以前问过,但是上次没问对,请大家再次帮忙,谢谢!)在本地文件夹中有一个文本文件,其中有N行N列的数据,要将其读出来,并满足以下条件:
1)获得读取数据的行数和每行数据的个数即数据的列数,并分别将其赋给变量,比如i和j;
2)全部的数据读取到一个数组变量中,比如string();
3)能实现以下循环功能
   for i=o to i-1 (即循环读取行的内容)
   '接着是将string()中一行(是每行的数据!)数据分别赋给另外一个数组变量DATA(j),(DATA(j)中的每个元素即为每行的数据值,这也是一个循环过程)整个循环结束后,一共赋予了DATA i次,其中DATA()中的数据最好为DOUBLE 型的
......
next i谢谢你的帮忙,祝新年快乐!

解决方案 »

  1.   

    Option ExplicitPrivate MyData() As Double
    Private Sub Command1_Click()
        Dim Arr() As String
        Dim Brr() As String
        Dim i As Long
        Dim j As Long
        Arr = Split(Text1.Text, vbCrLf)
        For i = LBound(Arr) To UBound(Arr)
            Brr = Split(Arr(i), " ")
            For j = LBound(Brr) To UBound(Brr)
                ReDim MyData(i, j) As Double
                MyData(i, j) = CDbl(Brr(j))
            Next
            Erase Brr
        Next
        Erase Arr
    End Sub
      

  2.   

    Function CDbl(Expression) As Double
        VBA.Conversion 的成员
        将一个表达式转换为双精度型
    -----------------------------------
    text1.text=
    Text1 11111
    Text2 22222
    Text3 33333
    Private Sub Command1_Click()
        Dim Arr() As String
        Dim Brr() As String
        Dim i As Long
        Dim j As Long
        Arr = Split(Text1.Text, vbCrLf)
        For i = LBound(Arr) To UBound(Arr)
            Brr = Split(Arr(i), " ")
            For j = LBound(Brr) To UBound(Brr)
                Debug.Print Brr(j)
            Next
            Erase Brr
        Next
        Erase Arr
    End Sub
    --------------------
    行和行用的是VBCrLf,列和列就的是空格。