アプリ版:「スタンプのみでお礼する」機能のリリースについて

CSVファイルをLine Inputメソッドで1行毎に読み込みたいのですが、
セル内の改行により、1行分として読み込む事ができません。

セル内の改行コードは「vbLf」が使用されているとの認識でいますが、
仮に「vbLf」が改行コードとして使用されていれば、メモ帳などで
開くと「vbLf」の部分は改行されないと思っています。

ところが、問題のCSVをメモ帳で開くとセル内改行部分も改行されて
表示されます。

Line Inputメソッドの1行分は、改行コード「vbCrLf」までで、
改行される位置がメモ帳で開いた結果と同じになります。

そうなると、セル内の改行に使用されている改行コードに何が
使用されているのでしょうか?

環境は、Windows7、EXCEL2013です。

A 回答 (2件)

こちらの


セル内の改行コードに注意
http://officetanaka.net/excel/vba/tips/tips89.htm
のSumple2を読んでもらえば
あなたの謎の改行の正体を確認できるハズです。
または制御文字が表示できるテキストエディタとかで。
Excelの場合ならセル(項目)内改行はLFですが
他のアプリでは項目内改行がCRLFの場合もあります。
で、
正規表現で抜き出そうとしましたが、あえなく撃沈 orz
テストに使用したのは以下9行をCSV保存したものです。
"りん
ご",1,150,150
"バナナ",10,200,"1,022,000"
"メ
ロン","1,000","2,000","2,000,000"
"パイ

ナッ
プル","-1,000",0.123,"100,000"

探した結果
http://excel-ubara.com/EXCEL/EXCEL119.html
でダブルクォーテーション内に『改行』があっても
上手に処理してくれるようです。
※添付画像が削除されました。
    • good
    • 0

Excelの仕様は判りませんが、そのCSVファイルのフィールドには改行「vbCrLf」が使われていると思って間違いないですね。



フィールドがコンマ、ダブルクォート、改行を含む場合は、かならずダブルクォートで囲む、となっているので、問題の部分はダブルクォートで囲まれているはずです。
そうでなければ判別しようが無いですね。

参考URL:http://ja.wikipedia.org/wiki/Comma-Separated_Val …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!