[リストへもどる]
一括表示

投稿時間:2003/06/03(Tue) 16:31
投稿者名:mitu
Eメール:
URL :
タイトル:
RichTextBoxでの文字列検索
いつもお世話になっています。
RichTextBoxで、Findメソッドを使って文字列を検索してるのですが、
現在のカーソル位置から、上に検索するには、どうすれば良いでしょうか?
下に検索の場合は、下記のようにやりました。

With RichTextBox1
    '非表示
    .Visible = False
    '現在のカーソル位置を検索開始位置
    lngStart = .SelStart
    'テキストの最後尾まで検索
    lngEnd = -1
    '選択されている時、検索開始はその次から
    If .SelLength > 0 Then lngStart = lngStart + .SelLength
                
    'テキストを検索
    lngPos = .Find(seaStr, lngStart, lngEnd, lngOptions)

    If lngPos <> -1 Then
        'カーソル開始位置
        .SelStart = lngPos
        '見つかった文字列を反転表示
        .SelLength = Len(seaStr)
        myFlg = True
    Else
        '該当データなし
        myFlg = False
    End If
    '表示
    .Visible = True
End With

よろしくお願いします。

投稿時間:2003/06/03(Tue) 20:15
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: RichTextBoxでの文字列検索
Find メソッドではできないのでInStrRev関数を使用してみて下さい。

投稿時間:2003/06/04(Wed) 09:58
投稿者名:mitu
Eメール:
URL :
タイトル:
Re^2: RichTextBoxでの文字列検索
> Find メソッドではできないのでInStrRev関数を使用してみて下さい。

花ちゃんさん、ありがとうございます。
実は、初めにInStr、InStrRev関数を使おうと考えていました。

テキストは、
1=1,2,3,4,5,6,7,8,9,10,11
2=15,16,19
というような形で、

検索のオプションで「単語単体で検索」というのがあります。
InStr、InStrRev関数は、該当する文字すべてに掛かってしまうので、
やめたのです。

色々と調べてみて、SendMessageなどでも出来そうなので試してみます。
何か他に良い方法ありましたら、お願いします。

投稿時間:2003/06/04(Wed) 13:19
投稿者名:mitu
Eメール:
URL :
タイトル:
Re^3: RichTextBoxでの文字列検索
自己レスです。

解決いたしました。
単語単位とそうでない場合とで、分けて作成しました。
色々ありがとうございました。

実は、違う質問があります。
別にスレッドをたてますので、
よろしくお願いします。