テキストファイルを作った環境 |
ファイルの中身 |
ファイルの中身 (文字コード) |
Line Input#ステートメントで 1行目だけを読込んだ結果 |
|
---|---|---|---|---|
OS |
使用アプリケーション |
|||
Mac
OS X Ver. 10.3.9 |
SimpleText | line1 line2 |
6C 69 6E 65 31 0A 6C 69 6E 65 32 |
line1 line2 |
Mac
OS 9 Ver. 9.2.2 |
SimpleText | line1 line2 |
6C 69 6E 65 31 0D 6C 69 6E 65 32 |
line1 |
Windows
XP Home Edition |
メモ帳 |
line1 line2 |
6C 69 6E 65 31 0D 0A 6C 69 6E 65 32 |
line1 |
改行コードの 出力方法 |
Print #ステートメントを2回実行して、改行コードを調べる。 vbNewLineも出力してみる。 |
ソース | Print #lngFileNo,"aaa" & vbNewLine &
"aaa" Print #lngFileNo,"bbb" |
実行環境 |
改行コード |
---|---|
Excel
X for Mac |
CR(Mac OS 9での改行コード) |
Excel
2003 |
CR+LF(Windowsでの改行コード) |
項番 |
方法 |
コメント |
---|---|---|
1 |
Windowsでのみ動くマクロやアドインにする。 | これが一番楽だけど、、、。 だるまとしては止めてほしい。 マクロやアドインを使う人に、「テキストファイルを編集する時は改行コードに注意してね。」とお願いする必要があると思う。 |
2 |
テキストファイルを編集するマクロを作る。 |
マクロからテキストファイルを出力した場合、改行コードがLF(UNIXでの改行コード)にならないことを利用する。 だけど、余計にマクロを作ることになるかも。 面倒臭い。 マクロやアドインを使う人に、「テキストファイルを編集するな。」ってお願いする必要があると思う。 |
3 |
1、複数の改行コードが混在しているかもしれないので、Line
Inputステートメントを複数回つかって、とにかくファイルの中身を全部読む。 (すべての行をCR区切りで連結させながら読込む。) 2、すべてのLFをCRに置換(※1)。 3、その後、Split関数(※2)でも使って適当に解析。 |
結構面倒くさい。 |