VB6で、全角カンマ入りCSVを読むには

解決


一馬  2006-12-12 19:54:47  No: 134546

VB6で、CSVファイルを読込むプログラムを作成しています。
当初、Inputを用い各項目を読込んでましたが、文字に全角カンマが含まれており、誤動作する事がわかりました。
そこで、Line Input命令を用いて、1行全部を読込もうとしてるのですが、
1項目(半角カンマ区切り部分まで)しか読めず、Inputと同じ結果になってしまってます。

1行全部読むにはどうしたらいいでしょうか?
*改行まで読んでもいいし、固定長なのでサイズ指定でもOKです。

Dim aaa as String
Open "c:\test.csv" For Input As #1
    Line Input #Fno, aaa
Close #1


K・今川  2006-12-12 21:20:03  No: 134547

こちらでも試してみましたが特に問題なく1行ずつ読めました。(VB6使用)
ところで,なぜLine Input のファイルナンバーだけ変数が使われているのでしょう?  

Private Sub Command1_Click()

Dim aaa As String
Dim Fno As Integer

Fno = 1

Open "c:\test.csv" For Input As #1

Do While Not EOF(1)
    Line Input #Fno, aaa
    Debug.Print aaa & vbCrLf
Loop

Close #1

End Sub

test.csvの内容(20000台の前後のみ半角カンマ)
                              ↓    ↓
テスト、,TEST,TEST,1000,21320,テスト、,TEST,TEST,1000
テスト、,TEST,TEST,1001,21321,テスト、,TEST,TEST,1001
テスト、,TEST,TEST,1002,21322,テスト、,TEST,TEST,1002
テスト、,TEST,TEST,1003,21323,テスト、,TEST,TEST,1003
テスト、,TEST,TEST,1004,21324,テスト、,TEST,TEST,1004
テスト、,TEST,TEST,1005,21325,テスト、,TEST,TEST,1005
テスト、,TEST,TEST,1006,21326,テスト、,TEST,TEST,1006
テスト、,TEST,TEST,1007,21327,テスト、,TEST,TEST,1007
テスト、,TEST,TEST,1008,21328,テスト、,TEST,TEST,1008
テスト、,TEST,TEST,1009,21329,テスト、,TEST,TEST,1009


K?  2006-12-12 21:24:24  No: 134548

半角カンマを示すはずの「↓」がずれてしまいました。


K・今川  2006-12-12 21:26:35  No: 134549

>半角カンマを示すはずの「↓」がずれてしまいました。
名前間違えました。orz


一馬  2006-12-12 23:32:40  No: 134550

元(CSV)ファイルに問題があった様で解決致しました。
ありがとうございます!


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

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






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