2012-05-24 37 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访问)。

相关问题