Access VBAで複数行入力されたテキストボックスから1行ずつ取り出す

改行を検索し1行ずつ取り出す方法もありますが、ここでは1文字ずつ取り出し、ラインフィードまでを1行とするようにしました。

取出した1行は「」で囲み、別のテキストボックスに表示させます。



BackHome BackTipsへ Backメニューへ

■ 実行フォーム

処理前のテキストボックスに複数行の文字が入力されています。
[実行]ボタンをクリックすると、1行ずつ取り出し、前後に「」を付けて下のテキストボックスに表示します。
 実行フォーム

下記のVBAコードを入力します。

≪実行の流れ≫
1.下のテキストボックスをNULLにします。
2.上のテキストボックスから文字列全体を取り出します。
3.文字の長さ分、Forループを実行します。
4.1文字取り出します。
5.ラインフィード(vbLf)かどうか判定し、そうならば1行が終わりなので「」を付けて下のテキストボックスに追加します。
そうでなく、さらにキャリッジリターンでなければ1文字を追加します。
6.最終行を下のテキストボックスに追加します。
VBAコード


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行ずつ分解され、下のテキストボックスに「」を付けて表示されています。
実行結果のフォーム




BackHome BackTipsへ Backメニューへ

Copyright(C) FeedSoft