投稿日 | : 2004/08/02(Mon) 15:57 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Re^3: EXCELのセルの値に改行が含まれるか? |
> vbLf、vbCrLf、vbNewLineの違いがよくわからないのですが・・・
それらはいずれも、「改行データ」を表す定数です。
vbCR すなわち ChrW(&H0D) は、Carriage Return / 改行 という意味です。
vbLF すなわち ChrW(&H0A) は、Line Feed / 行頭復帰 という意味です。
そして vbNewLine は、「一般的な改行コード」を表します。
これは、Windows環境では vbCrLf 、Macintosh環境 では vbCr を返す値です。
> どういうときに使い分けたらいいのか?は経験で自然とわかってくるものなのですか?
一般に、改行データといえば、 vbNewLine の事を指します。
Windowsだけを相手にする場合は、vbCrLf = vbNewLine ですね。
そのため、多くの状況においては、「vbLf」を単体で使うことは稀なのですが、
文字列を「1文字ずつ処理する」ような場面や、あるいは 今回の Excel のように、
「vbLf を改行として扱う処理系」を相手にする場合は、vbLf が使われる事もあります。
なお、KBの822372には、このような記述もあります。
[XL2003] セル内の改行が「・」中点で表示される
http://support.microsoft.com/default.aspx?scid=kb;ja;822372
》【詳細】
》 Excel は、セル内で文字列を改行すると、改行コードを LF (0A) として設定します。
(中略)
》 〔補足〕
》 CR (0D : Carriage Return / 改行)
》 LF (0A : Line Feed / 行頭復帰)
》
》 メモ帳にて文字列を Enter キーで改行して、CSV ファイルを作成した場合は、
》 改行コードとして CR + LF が設定されます。