2012-05-24 38 views
0

我正嘗試使用VBA讀取Access中的文本文件。代碼如下:訪問和VBA讀取每行超過255個字符的文本文件

Open "C:\Test\test.txt" For Input As #1 
Dim MyString as String 
Dim x as integer 
x = 0 
For x = 0 to 100 
    Input #1, MyString 
    MsgBox MyString 
Next x 

所以這段代碼的目的,是線並打印出來,通過一個文本文件讀取行進行迭代。但是文本的行數超過了255個字符的概率。有沒有辦法讀取超過255個字符的行並將它們存儲在VBA中?謝謝。

編輯:文本文件示例

1110;  TESTING  ; 1111;  TESTING2 ; 5;  999990981; 10-30-2011;    12-01-2011;     133370001; 133370001; 133370001; 133370001; 133370001; 133370001; 133370001; 133370001; 133370001; 133370001; 133370001; 133370001; F;   13371; 1;  TEST1       ; 000000000; 133370001; 0;  TEST   ; TESTTES        ; TEST  ; 501;  10001;  0;  00001;  
1112;  TESTING  ; 1113;  TESTING2 ; 3;  999990982; 10-02-2011;    10-30-2011;     133370002; 133370002; 133370002; 133370002; 133370002; 133370002; 133370002; 133370002; 133370002; 133370002; 133370002; 133370002; F;   13372; 2;  TEST2       ; 000000000; 133370002; 0;  TEST1  ; TESTTESTT       ; TES   ; 502;  10002;  0;  00002;  
1113;  TESTING  ; 1114;  TESTING2 ; 21;  999990983; 03-01-2011;    10-02-2011;     133370003; 133370003; 133370003; 133370003; 133370003; 133370003; 133370003; 133370003; 133370003; 133370003; 133370003; 133370003; F;   13373; 3;  TEST3       ; 000000000; 133370003; 0;  TTESTTESTT ; TESTTESTTES       ; TESTTES  ; 503;  10003;  0;  00003;  
+0

可能重複[如何從VB6文本文件讀取數據?](http://stackoverflow.com/questions/2873830/how-can-i-read-data-from-a-text-file -using-vb6) – GSerg

+0

我無法找到有任何文檔「輸入#」在255個字符處停止。你能提供一個參考嗎? – mellamokb

+0

我已經添加了一個示例文件。 – ichigo

回答

2
Sub ReadLines() 

    Dim sInput As String 
    Dim i As Long 

    Open "C:\Users\dick\test.txt" For Input As #1 

    Do While Not EOF(1) 
     Input #1, sInput 
     Debug.Print Len(sInput), sInput 
    Loop 

End Sub 

我得到

468   1110; ... 
469   1112; ... 
469   1113; ... 

所以我沒有看到這個限制

+2

我也沒有。我能想象的唯一問題是寫入文本字段而不是備註字段。 – Fionnuala

0

這似乎不可思議,使用Input #是給我一個困難時期。我沒有收到任何錯誤,但是我收到了一半的字符串。我試圖查看文本的每一行以查看是否有異常,但我找不到任何內容。最後,我嘗試了@Matt Donnan使用TextStream和該工作的方法。謝謝大家,抱歉你花時間。

0

我認爲這個問題與MsgBox的大小限制有關。 Debug.Print將打印到即時窗口(可通過Ctrl + G訪問)。

相關問題