0

Access で VBA を使用してテキスト ファイルを読み込もうとしています。コードは次のとおりです。

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

したがって、このコードの目的は、テキスト ファイルを 1 行ずつ読み取って出力することです。ただし、テキスト行が 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;    
4

3 に答える 3

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; ...

だから私はその制限を見ていません

于 2012-05-24T21:07:23.323 に答える
0

Input #使用するのに苦労していたのは奇妙に思えます。エラーは発生しませんでしたが、代わりに一部の文字列の半分を受信して​​いました。テキストの各行を調べて、異常があるかどうかを確認しようとしましたが、何も見つかりませんでした。最後に、TextStream を使用する @Matt Donnan アプローチを試してみました。皆様、お時間を頂戴し、誠にありがとうございました。

于 2012-05-25T15:33:57.477 に答える