在程序的前半部分,我已经创建了CSV文件,并向其中写入了一些句子以及大量坐标数据之后,如代码所示,以当前时间日期命名后,保存到了Experimental Data文件夹下。
现需要再次从Experimental Data文件夹下,读出该日期的csv文件,从文件的第三行第二列开始读取坐标至数组中,直至遇到
“---------------------------”后终止读取。
创建CSV部分的代码如下,并附上创建后的CSV文件,请问:

再次从Experimental Data文件夹下,读出该日期的csv文件,从文件的第三行第二列开始读取坐标至数组中,直至遇到
“---------------------------”后终止读取的代码该如何写。我对这部分知识了解甚少,不知从何处下笔啊。     If FSO.FolderExists(App.Path & "\Experimental Data ") = False Then MkDir "Experimental Data"
     SaveFile = App.Path & "\Experimental Data\" & Year(Date) & "擭" & Month(Date) & "寧" & Day(Date) & "擔" & "(" & WeekdayName(Weekday(Date), True) & ") " & Hour(time) & "帪" & Minute(time) & "暘" & ".csv"
     
     Set TxtFile = FSO.CreateTextFile(SaveFile, True)
    TxtFile.WriteLine "The SHAPE RECOGNITION EXPERIMENT has been strated ! The recorded data of the tactile mouse moving coordinates information are all in below ."
    TxtFile.WriteLine "---------------------------"
    TxtFile.WriteLine "Time(s),X-Coordinate,Y-Coordinate"

解决方案 »

  1.   

    就是逗号分隔的文本文件,用open打开,line input读取,用split分隔为数组
      

  2.   

    Sub GetCsvData()
        Dim Arr, Ary, k%, i%    Open App.Path & "\Experimental Data\*.csv" For Input As #1
        Arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf): Reset
        ReDim Ary(1 To 3, 1 To 1)
        For k = 3 To UBound(Arr)
            If Arr(k) Like "---*" Then
                Exit Sub
            Else
                i = i + 1
                ReDim Preserve Ary(1 To 3, 1 To i)
                Ary(1, i) = Split(Arr(k), ",")(0)
                Ary(2, i) = Split(Arr(k), ",")(1)
                Ary(3, i) = Split(Arr(k), ",")(2)
            End If
        Next
    End Sub