改行を検索し1行ずつ取り出す方法もありますが、ここでは1文字ずつ取り出し、ラインフィードまでを1行とするようにしました。
取出した1行は「」で囲み、別のテキストボックスに表示させます。
■ 実行フォーム
処理前のテキストボックスに複数行の文字が入力されています。
[実行]ボタンをクリックすると、1行ずつ取り出し、前後に「」を付けて下のテキストボックスに表示します。
下記のVBAコードを入力します。
≪実行の流れ≫
1.下のテキストボックスをNULLにします。
2.上のテキストボックスから文字列全体を取り出します。
3.文字の長さ分、Forループを実行します。
4.1文字取り出します。
5.ラインフィード(vbLf)かどうか判定し、そうならば1行が終わりなので「」を付けて下のテキストボックスに追加します。
そうでなく、さらにキャリッジリターンでなければ1文字を追加します。
6.最終行を下のテキストボックスに追加します。
Private Sub コマンド7_Click()
Dim ssrc As String
Dim sline As String
Dim s As String
Dim i As Long
Me!テキスト14 = Null
ssrc = Me!テキスト12.Value
For i = 1 To Len(ssrc)
s = Mid(ssrc, i, 1)
If s = vbLf Then
Me!テキスト14 = Me!テキスト14 & "「" & sline & "」" & vbCrLf
sline = ""
ElseIf s <> vbCr Then
sline = sline & s
End If
Next
Me!テキスト14 = Me!テキスト14 & "「" & sline & "」" & vbCrLf
End Sub
実行結果のフォームです。
上の複数行入力されたテキストボックスが1行ずつ分解され、下のテキストボックスに「」を付けて表示されています。