• ベストアンサー

Line Inputにて改行があっても全行読むことがあるのでしょうか?

お世話になります。 今日仕事でcsvファイルをLine Inputで読み込んだとき 一回目のLine Inputで最後まで読んでしまうファイルがありました。 形式としては 下記のような感じだったのですが(外には出せないデータですのでこんな感じだというイメージです。) 家でこれを読ませると普通に1行ずつ読んでくれます。 読めないデータは1行目を削除すると一行ずつ読んでくれました。 したがって改行コードもあり認識しているはずなのですが・・・ 一行すべて読んでしまうパターンがあるのでしょうか? ご存知の人おられましたらよろしくお願いいたします。 ,,,,,2006/12/28,2006/12/28,2006/12/28,2006/12/28,2006/12/28,2006/12/28 ,,,,,10:10,10:10,10:10,10:10,10:10,10:10 2,,,,,ほげ,ぴよ,7,ぺぺぺぺ,0,2 2,,,,,ほげ,ぴよ,7,ぺぺぺぺ,255,3 2,,,,,ほげ,ぴよぷ,7,ぺぺ,1,4 3,,,,,ほげ,ぴよ,3,ぺ,23,5 4,,,,,ほげ,ぴよ,3,ぺぺぺぺ,3,7 5,,,,,ほげ,ぴよぷ,7,ぺぺぺぺ,5,6 6,,,,,ほげ,ぴよ,4,ぺぺ,-23.06666667,8 7,,,,,ほげ,ぴよ,7,ぺ,-43.32380952,9 7,,,,,ほげ,ぴよぷ,5,ぺぺぺぺ,-63.58095238,0 7,,,,,ほげ,ぴよ,7,ぺぺぺぺ,-83.83809524,5 7,,,,,ほげ,ぴよ,7,ぺぺ,-104.0952381,6

質問者が選んだベストアンサー

  • ベストアンサー
noname#140971
noname#140971
回答No.2

かっての経験を元に状況を再現してみました。 示されている例文をメモ帳にコピペして、それを読み込んで改ざんして保存。 その後に、再読込みをしました。 Private Sub コマンド0_Click()   Dim I    As Integer   Dim N    As Integer   Dim Datas() As String   Dim NewData As String      Datas() = FileReadArray("D:TEMP\TEXT.TXT")   N = UBound(Datas())   NewData = Datas(0) & Chr(10)   For I = 1 To N     NewData = NewData & Datas(I) & Chr(10)   Next I   FileWrite "D:\Temp\TEXT_NEW.TXT", NewData End Sub Private Sub コマンド19_Click()   Dim strData As String   Open "D:\Temp\TEXT_NEW.TXT" For Input As #1   Do While Not EOF(1)     Line Input #1, strData     Debug.Print strData     Exit Do   Loop   Close #1 End Sub 結果、全行がイミディエイトウインドウに表示されました。 もう、20年も前にもなりますが、GGTの技術者が書いたアプリケーションにこの手の誤りがありました。 米国で最初に製図機を開発した老舗の優秀なプログラマでもミスをするということです。 Chr(10)=>vbCRLF に修正すると1行目だけが表示されましたので、まず、この手のミスだと思います。

VIPFIRE
質問者

補足

お返事が遅くなりました。 有難うございます。 参考になりました。

その他の回答 (2)

noname#140971
noname#140971
回答No.3

  NewData = Datas(0) & Chr(10)   For I = 1 To N     NewData = NewData & Datas(I) & Chr(10)   Next I は、別に意味ありません。   For I = 0 To N     NewData = NewData & Datas(I) & Chr(10)   Next I これでOK。 まあ、1行目だけ Chr(10)、2行目から vbCRLF 等も試して残滓です。

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.1

>したがって改行コードもあり認識しているはずなのですが・・・ 改行コードが有るか否かは、バイナリダンプツール等を 使ってちゃんと確認しましょう。 >外には出せないデータですので >家でこれを読ませると 外には出せないデータは通常、家にも持ち帰ったりして はいけないはずですが?

VIPFIRE
質問者

補足

お返事有難うございます。 >改行コードが有るか否かは、バイナリダンプツール等を >使ってちゃんと確認しましょう。 了解です。 >外には出せないデータは通常、家にも持ち帰ったりして >はいけないはずですが? 伝わっていないようでしたが 外にはだしていません。あくまでイメージです。

関連するQ&A