■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依存なのかどうか分かりませんが、上記問題に関する情報をご存知の方はいらっしゃいますか?
|
|