0

onreadystateページの読み込みが完了したことを検出するブラウザー コントロールから値を取得しようとしています。残念ながら、イベント.returnValueは空で返されます。

これが私のコードです:

Dim WithEvents m_doc As HTMLDocument

Private Sub Form_Load()
    Set m_doc = WebBrowser1.Document
End Sub

Private Sub m_doc_onreadystatechange()
Dim m_event As IHTMLEventObj
    Set m_event = m_doc.parentWindow.event
    m_value = "'" & m_event.returnValue & "'"
    MsgBox "onreadystatechange: " & m_value
End Sub

何が間違っているかについてのアイデアはありますか?

4

1 に答える 1

2

HTMLDocumentのイベントを使用する場合は、

m_doc.createDocumentFromUrl "http://www.microsoft.com", ""

それ以外の場合は、WebBrowserコントロールのイベントを使用して、ドキュメントが完全に読み込まれたことを検出するか、NavigateまたはNavigate2メソッドを呼び出して、WebBrowser.ReadyStateのポーリング中にすぐにループすることができます。

WebBrowse1.Navigate2 "http://www.microsoft.com"
Do While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
    DoEvents
Loop

もちろん、エラーハンドラを追加することを忘れないでください。

于 2010-04-02T15:05:06.973 に答える