はじめに
改行コードにはCR、LF、CRLFの3種類があり、文字コードはCRが0x0D(13)、LFは0x0A(10)となります。それぞれ1バイト文字です。
CRLFの場合はCRとLFをつなげた2バイトとなります。
改行コードの種類
VBAでは改行コード用の定数が定義されており、以下の4つとなります。
- vbCr
- vbLf
- vbCrLf
- vbNewLine
vbNewLineは実行OSに依存します。
OS | 改行コード |
---|---|
Windows | vbCrLf |
Mac | vbCr |
改行コード判定サンプル
以下は、改行コードが含まれているかどうか判定する処理のサンプルとなります。
改行コードが含まれている場合は「True」を返し、含まれていない場合は「False」を返します。
Public Function CheckCrLf()
Dim valCr As String
Dim valLf As String
Dim valCrLf As String
' 改行コードを含む文字列を用意する
valCr = "hogehoge" & vbCr
valLf = "hogehoge" & vbLf
valCrLf = "hogehoge" & vbCrLf
Select Case True
Case InStr(valCr, vbCr) > 0
Debug.Print "CR is included"
CheckCrLf = True
Case InStr(valLf, vbLf) > 0
Debug.Print "LF is included"
CheckCrLf = True
Case InStr(valCrLf, vbCrLf) > 0
Debug.Print "CRLF is included"
CheckCrLf = True
Case Else
Debug.Print "CR or LF or CRLF is not included"
CheckCrLf = False
End Select
End Function
最後に
改行コードはプログラマーが苦しめられる一つなので、押さえておいた方がよい知識です。
是非ご参考までに。