OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • 暇なときにでも
  • 質問No.115370
  • 閲覧数386
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 24% (21/85)

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

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

  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

非連結のテキストボックス<テキスト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

お礼率 24% (21/85)

できました。本当にありがとうございました。
投稿日時 - 2001-08-08 03:50:45
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ