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

テキストの文字列検索で、検索した文字の色を変える方法は?

  • 困ってます
  • 質問No.248091
  • 閲覧数241
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 67% (55/82)

教えてください。
テキストボックスの内容を読み込んで、指定した文字列を検索するというコードを書いているのですが、

jl = InStr(i, Text2.Text)
If (jl > 0) Then

のように、テキストを一行ずつOpen~で読み込んで、Instrで指定した文字があるかどうかを判定しています。

これでは、検索した文字があったかどうか、という判定はできますが、検索あるいは置き換えした文字がどれであるか、またトータル何件あったかが分かりません。

検索ならば、一つずつ対象文字を発見したときにその文字の場所で止めて、またその文字の色を変える方法が分かりません。
また、置き換えならば、全文対象に一気に置き換えて、その置き換えた文字の色を変えて分かりやすくしたいのですが、その方法が分かりません。

検索あるいは置き換えの方法はマニュアルにあるのですが、その場所で止めて色を変えるというコードがなかなか載っていません。

どなたか教えてくださいませ。
お願いいたします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル6

ベストアンサー率 100% (5/5)

テキストボックスの一部分の文字の色を変える、ということは不可能です。
(テキストボックスだけで実現するのは)諦めてください。

Text1.SelStart = 15
Text1.SelLength = 4
Text1.SetFocus

ただし、こんな風に、任意の部分だけを選択状態にするという手があります。
(上の例では、15文字目から4文字分が選択されます)
テキストボックスなら、これが理想的だと思います。

どうしても一部分だけの色を変更したい場合は、
リッチエディットで無理やり実現させるか、
自前で、独自のテキストボックスのようなものを作成するしかないと
思います。

後者の方法が一般的ですが、VBでは現実的ではない方法です。
また、前者は大変面倒です。
お礼コメント
fujiyama2002

お礼率 67% (55/82)

早速のご回答ありがとうございます。

Text1.SelStart = 15
Text1.SelLength = 4
Text1.SetFocus

この例では15文字目から4文字分が選択される、とありますが、
その何文字目から何文字までが検索の対象文字列であるのかという
ことは検索する文字列によって変わってくると思うのですが、
どのように指定してやればいいのでしょうか?

初心者ですみません・・・。
投稿日時 - 2002-04-06 19:18:53
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル11

ベストアンサー率 42% (103/245)

>Text1.SelStart = 15 >Text1.SelLength = 4 >Text1.SetFocus > >この例では15文字目から4文字分が選択される、とありますが、 >その何文字目から何文字までが検索の対象文字列であるのかという >ことは検索する文字列によって変わってくると思うのですが、 >どのように指定してやれば ...続きを読む
>Text1.SelStart = 15
>Text1.SelLength = 4
>Text1.SetFocus
>
>この例では15文字目から4文字分が選択される、とありますが、
>その何文字目から何文字までが検索の対象文字列であるのかという
>ことは検索する文字列によって変わってくると思うのですが、
>どのように指定してやればいいのでしょうか?

InStr関数を使われてはどうでしょう?
文字列を検索して最初に見つかった位置を返しますので、
その位置と文字列長さえあれば、選択状態にするのも簡単ですよね。
使用方法はMSDNに書かれています。
お礼コメント
fujiyama2002

お礼率 67% (55/82)

ご回答ありがとうございます。うっかり見落としていました。Instrは位置を返すんですね。ということは、その位置から「検索対象文字列」の長さを調べて、その文字数分を選択すればいいんですね。

バッチリとはいえませんが、試行錯誤しながらならなんとかできそうな気がしてきました。
やってみます。
ありがとうございました!!!
投稿日時 - 2002-04-06 23:57:49
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


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

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ