C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Webbrowser上でfindTextがうまく動作しない

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■91365 / inTopicNo.1)  Webbrowser上でfindTextがうまく動作しない
  
□投稿者/ BAKE (1回)-(2019/06/18(Tue) 17:51:23)

分類:[VB.NET/VB2005 以降] 

VB: 2013
OS: Windows 10

WebbrowserでWEB表示を行うプログラムを作ったのですが、
古いIEのバージョンでは正しく表示されないサイトがあるため、
以下を参考にIE11としてWebbrowserが動くようにしました。

https://www.ipentec.com/document/csharp-change-webbrower-control-internet-explorer-version

今まで表示されなかったサイトはうまく表示することが出来たのですが、
以下のキーワード検索のコードで、上方向検索がうまくいかなくなりました。

    Private Sub SSearchNextWord(ByVal KeyWord As String, ByVal SearchForward As Boolean)
        Const SEARCH_FORWARD As Integer = 1
        Const SEARCH_BACKWORD As Integer = -1

        Dim oBody As mshtml.HTMLBody = Nothing
        Dim oRange As mshtml.IHTMLTxtRange = Nothing
        Dim SearchDirection As Integer = SEARCH_BACKWORD    '上方向検索
        If SearchForward Then
            SearchDirection = SEARCH_FORWARD    '下方向検索
        End If

        Dim oDoc As mshtml.HTMLDocument = WebBrowser1.Document.DomDocument
        Dim oSel As mshtml.IHTMLSelectionObject = oDoc.selection
        oRange = oSel.createRange

        If CBool(oRange.findText(KeyWord, SearchDirection, 0)) Then
            oRange.select()
            oRange.scrollIntoView(True)
        End If
    End Sub

下方向の検索(findText)は問題なく出来るのですが、上方向の検索を行うと、
KeyWordとは別の文字が選択状態となります。
「何でここが検索されるの?」という気持ちでいっぱいです。

この問題が出たのは僕が使っているWindows 10(64bit)のPCで、
同じプログラムを他のPC(Windows 7の32bit/64bit各1台)で実行しても
問題は発生しませんでした。
(これらWindows 7も、WebbrowserはIE11として設定済みです。)

また、WebbrowserをIE11として動作させることをやめれば、
問題の発生するWindows 10のPCでも上方向検索はうまく動作します。

OS依存なのかどうか分かりませんが、上記問題に関する情報をご存知の方はいらっしゃいますか?

引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ