Access and VBA read text file with more than 255 characters per line

老子叫甜甜 提交于 2019-12-12 06:26:15

问题


I am trying to read a text file in Access using VBA. The code is as follows:

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

So the purpose of this code, is to iterate through a text file reading line by line and printing it out. But there is the probability in which the line of text exceeds 255 characters. Is there a way to read lines over 255 characters and store them in VBA? Thank you.

Edit: Text File Example

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;    

回答1:


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

I get

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

So I'm not seeing that limitation




回答2:


It seems weird that using Input # was giving me a hard time. I was not getting an error but instead I was receiving half of some strings. I tried to look at each line of the text to see if there were anomalies but I couldn't find any. In the end, I tried @Matt Donnan approach of using TextStream and that work. Thank you all and sorry for taking your time.




回答3:


I believe the problem has to do with the size limit of the MsgBox. Debug.Print will print to the Immediate Window (accessible by Ctrl+G).



来源:https://stackoverflow.com/questions/10744113/access-and-vba-read-text-file-with-more-than-255-characters-per-line

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!