アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (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
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/08/08 03:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!