Dim Datacomy_txt() As String '打开txt文本数据值
Dim Timex_txt() As String '打开txt时间数据值
Private Sub Command2_Click()
Dim Linedata As String
Dim Di As Integer
Di = 0
Timer2.Enabled = False
CDialog1.Filter = "textfiles(*.txt)|*.txt"
CDialog1.ShowOpen
Open CDialog1.FileName For Input As #2
Do While Not EOF(2) ' 循环至文件尾。
Line Input #2, Linedata ' 读入一行数据并将其赋予Linedata
ReDim Preserve Timex_txt(Di)
ReDim Preserve Datacomy_txt(Di)
Timex_txt(Di) = Split(Linedata)(0)
Datacomy_txt(Di) = Split(Linedata)(1)
Di = Di + 1
Loop
Close #2
MsgBox Di & "行"
MsgBox "打开文件成功。"
End Sub我的代码运行的时候,总是说我Timex_txt(Di) = Split(Linedata)(0) 这个下标越界,一时找不出原因,请高手帮我看看。
Dim Timex_txt() As String '打开txt时间数据值
Private Sub Command2_Click()
Dim Linedata As String
Dim Di As Integer
Di = 0
Timer2.Enabled = False
CDialog1.Filter = "textfiles(*.txt)|*.txt"
CDialog1.ShowOpen
Open CDialog1.FileName For Input As #2
Do While Not EOF(2) ' 循环至文件尾。
Line Input #2, Linedata ' 读入一行数据并将其赋予Linedata
ReDim Preserve Timex_txt(Di)
ReDim Preserve Datacomy_txt(Di)
Timex_txt(Di) = Split(Linedata)(0)
Datacomy_txt(Di) = Split(Linedata)(1)
Di = Di + 1
Loop
Close #2
MsgBox Di & "行"
MsgBox "打开文件成功。"
End Sub我的代码运行的时候,总是说我Timex_txt(Di) = Split(Linedata)(0) 这个下标越界,一时找不出原因,请高手帮我看看。
Datacomy_txt(Di) = Split(Linedata, " ")(1)
Timex_txt(Di) = Split(Linedata)(0)
Datacomy_txt(Di) = Split(Linedata)(1)Split(Linedata, ",")
Split函数你没有使用分隔符
读出Linedata后判断不是""再进行后面的处理。
如果中间有空行怎么办?
最好使用split函数前判断变量linedata是否符合要求
楼上说的是,应该在代码中保证。Dim Datacomy_txt() As String '打开txt文本数据值
Dim Timex_txt() As String '打开txt时间数据值
Private Sub Command2_Click()
Dim Linedata As String
Dim Di As Integer
Dim tmp() As String
Di = 0
Timer2.Enabled = False
CDialog1.Filter = "textfiles(*.txt)|*.txt"
CDialog1.ShowOpen
Open CDialog1.FileName For Input As #2
Do While Not EOF(2) ' 循环至文件尾。
Line Input #2, Linedata ' 读入一行数据并将其赋予Linedata
tmp = Split(Linedata)
If Ubound(tmp) Then
ReDim Preserve Timex_txt(Di)
ReDim Preserve Datacomy_txt(Di)
Timex_txt(Di) = tmp(0)
Datacomy_txt(Di) = tmp(1)
Di = Di + 1
End If
Loop
Close #2
MsgBox Di & "行"
MsgBox "打开文件成功。"
End Sub
Timex_txt()=empty
Datacomy_txt=empty
Timer2.Enabled = False
CDialog1.Filter = "textfiles(*.txt)|*.txt"
CDialog1.ShowOpen
Open CDialog1.FileName For Input As #2
Do While Not EOF(2) ' 循环至文件尾。
Line Input #2, Linedata ' 读入一行数据并将其赋予Linedata
ReDim Preserve Timex_txt(Di)
ReDim Preserve Datacomy_txt(Di)
Timex_txt(Di) = Split(Linedata)(0)
Datacomy_txt(Di) = Split(Linedata)(1)
Di = Di + 1
Loop
Close #2
MsgBox Di & "行"
MsgBox "打开文件成功