程式為讀取一個月內的文字檔
問題是
2月有29天,所以資料沒有30及31
到30時會經由錯誤控制跳開,但31就會出現找不到檔案
本來想錯誤控制直接跳開迴圈的
但是有可能一個月有幾天沒有紀錄的檔案,
例如沒有3日,那就從3 日以後就都沒資料了
所以就要for day_type =1 to 31,
程式碼如下:
For day_type = 1 To 31
On Error GoTo errstr:
FileNo = FreeFile
sVar = Year_type & "_" & Month_type & "_" & day_type
Open App.Path & "\" & sVar & ".txt" For Input As #FileNo
Do Until EOF(FileNo)
Line Input #FileNo, sVarData
Call Data1
Loop
errstr:
Close #FileNo
Next
問題是
2月有29天,所以資料沒有30及31
到30時會經由錯誤控制跳開,但31就會出現找不到檔案
本來想錯誤控制直接跳開迴圈的
但是有可能一個月有幾天沒有紀錄的檔案,
例如沒有3日,那就從3 日以後就都沒資料了
所以就要for day_type =1 to 31,
程式碼如下:
For day_type = 1 To 31
On Error GoTo errstr:
FileNo = FreeFile
sVar = Year_type & "_" & Month_type & "_" & day_type
Open App.Path & "\" & sVar & ".txt" For Input As #FileNo
Do Until EOF(FileNo)
Line Input #FileNo, sVarData
Call Data1
Loop
errstr:
Close #FileNo
Next
文章標籤
全站熱搜

ps:若用on error resume next 會發生無窮迴圈
這種問題不需用到錯誤處理~直接給該月天數不就得了! http://www.vbqa.com/discuss/vb.old/read.asp?id=23327
on error resume next 後面應該用 If Err.Number > 0 判讀 ... Err.Clear Exit Do ...
For day_type = 1 To 31 FileNo = FreeFile if isdate(Month_type & "/" & day_type & "/" &cstr(1911+val(Year_type))) sVar = Year_type & "_" & Month_type & "_" & day_type if dir(svar) <> "" then Open App.Path & "\" & sVar & ".txt" For Input As #FileNo Do Until EOF(FileNo) Line Input #FileNo, sVarData Call Data1 Loop Close #FileNo end if end if Next