投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/12/14 23:38:47
>「改行」のコードですよね?
いわゆる改行コードの一種ですが、Windows においては、それ単体では改行を意味しません。
(具体的な修正方法は、既に wii さんが回答されていますね)


=====================
かつての「タイプライター」では、複数行のデータを印刷するときに、
水平印字位置を左端に戻す事(行頭復帰:Carriage-Return)と、
次の行まで用紙を送り出す(行送り/改行:Line-Feed)という
2 つの動作が行われていました。これが現在の改行コードに繋がっています。

CR の方は、文字コードで 0D(16進数)つまり 13 であり、
LF の方は、文字コードで 0A(16進数)つまり 10 で表されます。

Windows においては、この 2 文字を組み合わせた CR+LF を改行として扱います。
Chr(13) つまり CR 単体では改行と看做されませんので注意してください。
(ただしアプリケーションによっては、Cr や Lf 単体でも改行と看做す場合があります)


そして既に回答が付いていますが、VB/VBA/VB.NET では「vbNewLine」という文字列定数にて、
一般的な改行文字を表せるようになっています。
vbNewLine とは、Windows 環境では CR+LF を表す定数であり、Mac 環境では CR を表す定数です。

また、CR や LF や CR+LF その物を表すために、vbCrLf/vbCr/vbLf といった
定数も用意されています(オショウさんが書かれていますね)。また、VB.NET においては
これらと同じ意味を持つ、ControlChars.CrLf などの定数も存在します。


ちなみに Chr や ChrW を使う場合には、『Chr(13) & Chr(10)』という記述によって
改行を表現できます。ただし通常は、vbNewLine や vbCrLf を使った方が良いでしょう。


-------------------
蛇足ですが、Unicode には“広義”の「改行コード」が 8 種類あったりします。
http://www.unicode.org/reports/tr13/tr13-9.html

CR: Carriage Return (キャリッジリターン/復帰)
LF: Line Feed (ラインフィード/改行)
CRLF: Carriage Return + Line Feed (復帰改行)
NEL: Next Line (次行)
VT: Vertical Tabulation (垂直タブ)
FF: Form Feed (フォームフィード/改ページ)
LS: Line Separator (行区切り記号)
PS: Paragraph Separator (段落区切り記号)