
投票受付終了まであと2日 ベストアンサーにふさわしい回答に投票してください
VS2019 VB.netのwebbrowserについて質問です。
2019/11/2700:00:03
VS2019 VB.netのwebbrowserについて質問です。
環境
windows10
VS2019のwindows Form アプリケーション
あるサイトをwebbrowserに表示して「追加」ボタンを押すプログラムを作っています。
おおまかな流れは以下になります。
Dim myDoc As System.Windows.Forms.HtmlDocument = WebBrowser1.Document
Dim myEle As System.Windows.Forms.HtmlElement
myEle = myDoc.GetElementById("new-XX-XX")
For Each Element As HtmlElement In Me.WebBrowser1.Document.Body.GetElementsByTagName("INPUT")
If Element.GetAttribute("type") = "button" Then
If Element.GetAttribute("Value") = "追加" Then
If Element.OuterHtml.IndexOf("button XX") <> -1 Then
Element.InvokeMember("click")
Application.DoEvents() ←ここで止まる
Exit For
End If
End If
End If
Next
1週間前までは何の問題もなく実行できていたのですが、
最近になりInvokeMember("click")後のApplication.DoEvents()で
処理が止まり、フリーズしてしまいます。
一番不思議なのはVB.netの開始ボタンから実行すると
1回目は必ず上記の個所で止まり、デバッグを中止したのち、
何も変更せず2回目の開始ボタンを押して実行させると
何の問題もなく普通に処理できているところです。
原因が分かる方がいらっしゃいましたら
ご教授いただけないでしょうか。
以上、よろしくお願いいたします。
回答
1〜1件/1件中
サポーターさん
2019/11/2709:08:27
>Application.DoEvents()で処理が止まり、フリーズしてしまいます。
DoEventsの動作に関して何か勘違いをされているようですね
VBA DoEvents 関数
https://www.tipsfound.com/vba/05doevents
なぜそこにDoEventsを入れているのかその意図は分かりませんが、それがフリーズの原因と考えているのであれば
Application.DoEvents() この一行自体を抜くかコメント扱いにすればいいだけですね
このカテゴリの投票受付中の質問
この質問につけられたタグ
カテゴリQ&Aランキング
- 戻る
- 次へ
総合Q&Aランキング
Yahoo!知恵袋カテゴリ
お客様自身の責任と判断で、ご利用ください。

