#386 文字列を改行コードで分割するには? フォーム、VBA

あるテキストボックスに入力された文字列を、改行コードで分割して、それぞれ別の2つのテキストボックスに代入する方法です。

ここでは例として、次のようなフォームを用意します。改行を含む文字列を入力するテキストボックスを"txt改行テキスト"、分割後の文字列を代入するテキストボックスをそれぞれ"txt分割テキスト1"、"txt分割テキスト2"とします。
サンプルフォームのデザイン

そして、"txt改行テキスト"の更新後処理イベントプロシージャを次のように記述します。

Private Sub txt改行テキスト_AfterUpdate()
'改行テキストの更新後処理

  Dim strText1 As String
  Dim strText2 As String

  '改行コードの直前までを取り出し
  strText1 = Left$(Me!txt改行テキスト, InStr(Me!txt改行テキスト, vbCr- 1)
  '改行コードの直後からを取り出し
  strText2 = Mid$(Me!txt改行テキスト, InStr(Me!txt改行テキスト, vbLf+ 1)

  '取り出した文字列をテキストボックスに代入
  Me!txt分割テキスト1 = strText1
  Me!txt分割テキスト2 = strText2

End Sub


改行コード(CRLF)全体は、VBAの組み込み定数"vbCrLf"で2文字分として表現されますが、ここではその直前・直後を取り出すことから、それぞれ、「"vbCr"の1文字前まで」、「"vbLf"の1文字後ろから」というように取り出し位置を指定・ オます。

実行例:
サンプルフォームの実行例
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved