- ベストアンサー
メモ型フィールドの文字列の置換と改行の入れ方について
メモ型データ内にあるデータの中から、ある特定の文字を検索して、それを所定の文字に置換すると共に、改行をするという処理をフォームのコマンドボタンのクリックイベントに割り当てたいのですが、どのようにすればよいでしょうか? 具体的にいうと、1のデータを、2のデータに置き換えたいということです。 1.30 米,麦;40 ビデオ,テレビ 2.【30】 米,麦 【40】 ビデオ,テレビ
- みんなの回答 (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
お礼
できました。本当にありがとうございました。