CSVファイルのeofがある列のlenを取るには?


POP MAX STAR  2006-02-10 04:55:14  No: 94108

VB6.0初心者です。

今、VB6.0にてCSVファイルの最終行に文字列があるかどうかを判別したい
のですが、「eofがある行の文字列の長さ」は取得できますでしょうか?

CSVの例を以下に記載します
---------------------------------
0001,AAA,BBB,CCC,10:12
0002,AAA,BBB,CCC,10:33
0003,[eof]
---------------------------------
こんな感じです。ようするに、「0003,」が存在する時は
その後に「AAA,BBB,CCC,10:40」みたいのをくっつけたいのですが、
10:33のうしろにeofがある場合や、0003,が無い状態では
エラーを返したいのです。
宜しくお願いします。


通ってみた  2006-02-10 18:38:09  No: 94109

タイトルでは最終行の文字列長を取得したいとありますが、
やりたいことは、最終行の文字列の判定ですよね?
以下で最終行が取れますので、Instr()を使用するか、
Left()をしようするか、方法は多数あると思いますが
好きな方法で判定してください。
もし文字列長がとりたいなら、もちろんLen()ですね。

    Dim fn          As Integer
    Dim path        As String
    Dim lin()       As String
    
    fn = FreeFile
    path = "C:\test.txt"
    lin = Split(vbNullString)
    Open path For Input As #fn
        Do While Not EOF(fn)
            ReDim Preserve lin(UBound(lin) + 1)
            Line Input #fn, lin(UBound(lin))
        Loop
    Close #fn
    Debug.Print lin(UBound(lin))


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加