掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WebbrowserコントロールなしでのDHTMLの操作 (ID:81254)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> Set〜が実行される前にDebug.〜が実行されてるのでしょうか? 違います。もし、Set実行前に動作しているのだたとしたら、 『オブジェクト変数またはWithブロック変数が設定されていません。』 のエラーになっているはずですよね? > F8で順次実行すれば正しく表示されます。 MSHTMLパーサによってHTMLが解析されるには、若干の時間が必要なのです。 WebBrowserコントロールを使って処理する時にも、DocumentCompleteイベントが発生するまで、解析は完了しませんよね。それと一緒です。 Loadメソッドで読み込んだ直後は、WebBrowserでいえば、まだNavigateCompleteイベントが発生した段階に過ぎないというわけです。 '========== Option Explicit Private WithEvents Doc As MSHTML.HTMLDocument Private Sub Doc_onreadystatechange() Debug.Print Doc.readyState End Sub Private Sub Command1_Click() Dim Stm As ADODB.Stream Dim StmInit As IPersistStreamInit Set Stm = New ADODB.Stream Stm.Type = adTypeBinary Stm.Open Stm.Write Inet1.OpenURL("http://www.yahoo.co.jp/", icByteArray) Stm.position = 0 Set Doc = New HTMLDocument Set StmInit = Doc StmInit.Load Stm Stm.Close Set Stm = Nothing 'この時点で処理しても、解析が終わっているという保証は無い。 Debug.Print Doc.getElementsByTagName("TABLE").length End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.