• ベストアンサー

メモ型フィールドの文字列の置換と改行の入れ方について

メモ型データ内にあるデータの中から、ある特定の文字を検索して、それを所定の文字に置換すると共に、改行をするという処理をフォームのコマンドボタンのクリックイベントに割り当てたいのですが、どのようにすればよいでしょうか?  具体的にいうと、1のデータを、2のデータに置き換えたいということです。  1.30 米,麦;40 ビデオ,テレビ  2.【30】 米,麦    【40】 ビデオ,テレビ

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

非連結のテキストボックス<テキスト0>に元の文があれば、コマンドボタン<コマンド2>で<テキスト0>を書き換えます。 質問の改行の位置らしき『;』や数字と文字を分けるスペースが全角か半角かはっきりしないので、下記では最初に半角に置き換えて判定しています。参考にして下さい。理屈では何行にでもなります。 Private Sub コマンド2_Click()   Dim moji As String   Dim potLF As Integer '改行を行う文字の位置   Dim potSpc As Integer '数字と文字の区分け位置   Dim elm As String '1行分の文字   Dim mojiWork As String 'ワーク変数   moji = テキスト0   moji = Replace(moji, ";", ";", , , vbTextCompare)   moji = moji & ";"   potLF = InStr(moji, ";")   While potLF > 0     elm = Left(moji, potLF - 1)     potSpc = InStr(Replace(elm, " ", " ", , , vbTextCompare), " ")     '文字の整形     elm = "【" & Left(elm, potSpc - 1) & "】 " & Right(elm, Len(elm) - potSpc)     mojiWork = mojiWork & elm & vbCrLf     moji = Right(moji, Len(moji) - potLF)     potLF = InStr(moji, ";")   Wend   テキスト0 = Left(mojiWork, Len(mojiWork) - 2) End Sub

patman2
質問者

お礼

できました。本当にありがとうございました。