※ 引述《hsiangtai (請您幫幫我 !!!)》之銘言:
: 不好意思~因為我試著用vba下去寫東西~
: 可是執行的時候會出錯,偵測的結果『輸入已超過檔案結尾』
: 就是下面程式碼『Input #1, O11(i,j)』這一行
: 請問一下問題出在哪邊?
: 因為我是照著書這樣子打的~可以告訴我錯在哪嗎
: Private Sub UserForm_Activate()
: Dim i, j As Integer
: Open "C:\O11.CSV.xls" For Input As #1
: i = 0
: While Not EOF(1)
---------------- 迴圈
: For j = 1 To 9
-------------- 迴圈
: Input #1, O11(i, j)
: Next j
: i = i + 1
: Wend
: Close #1
while 迴圈通過檔案結尾的檢查,但 for 迴圈忽視檔案結尾限制,
仍然要讀固定長度的資料. 在這段資料讀取中,可能會有檔案結尾.
其實只要用 while 控制迴圈就好,迴圈內用 i, j 變數調整陣列位置.
大概如下:
i = 0 : j = 1
while not eof(1)
input #1, O11(i, j)
j = j + 1
if j > 9 then
i = i + 1
j = 0
end if
wend
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.16.157