[ホーム] >
[VBScript FAQ 一覧] > [改行を含む文字を簡単に処理する便利なテクニック]
VBA において改行(vbCR、vbLF、vbCRLFなどを含む)を含む文字を処理する場合に正常に処理が行われない場合があります。
また改行はExcelやVisual Studio の Watch ウィンドウでは空白などで表示されるため、デバッグが困難な場合もあります。
そんな場合は一度他の文字に変換してから再度ある改行に統一して処理するとよいでしょう。
以下の例では、vbCr、vbLf、vbLfが混在している文字列 temp_str に関して、一度 @ に変換してから処理を行い、再度戻す処理を行うサンプルとなります。
@@ を @に変換しているのは vbCrLfの場合を想定しています。
temp_str = Replace(temp_str, vbCr, "@")
temp_str = Replace(temp_str, vbLf, "@")
temp_str = Replace(temp_str, "@@", "@")
If Left(temp_str, 1) = "@" Then
temp_str = Right(temp_str, Len(temp_str) - 1)
End If
<処理実行>
rem 戻す
temp_str = Replace(temp_str, vbCr, "@", vbLf)
参考:
vbCrLf、vbLf、vbCr、vbNewLineの違いに関して
Excel セルの中の改行を判定
[ホーム] >
[VBScript FAQ 一覧]