- ベストアンサー
NavigateComplete2において・・・。
WebBrowserに映したページのhtml文を獲得する上で、ページが映されてすぐにhtml文を獲得したくて、以下のようなソースを書いてみたのですが、実行してすぐに構文エラーになってしまいました。 この時点では、まだWebBrowserは何も動いてません。なのでWebBrowser1_NavigateComplete2にはまだ行かないと思うのですが・・・。 Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant) Text4.Text=WebBrowser1.Document.body.outerHTML End Sub
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
そういえば、一旦プロジェクトを保存してから再度開くとそうなってしまうんでしたね。(^^; なぜそうなってしまうのかは分からないのですが少しそれについて調べてみると、 やはり taisuke555さんもおっしゃっている通り、エラートラップしている方がほとんどのようです。 URLの有無・エラー番号等で適当に回避してもいいですし、以下のようにしてもOKかと。 Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) On Error Resume Next '← ここ Text1.Text = WebBrowser1.Document.Body.innerHTML 私の場合、その "ページを表示できません" が気に入らないので(^^; 最初(FormLoad)に "about:blank" にしちゃってます。 以下のHPで、"WebBrowser"等で検索すると他の事についても多少でてきます。 http://www.fukkey.dyndns.org/pins/search/search.html ※他の方法については、ちょっと分かりません。m(_ _)m
その他の回答 (2)
- taisuke555
- ベストアンサー率55% (132/236)
根本的な解決にはならないと思いますが、 >その部分は、”ページを表示できません”と書かれたボックスになっています。そうすると、エラーになってしまいます。 エラーになる時のURLには何も入っていないようなので Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) If (URL <> "") Then Text1.Text = WebBrowser1.Document.Body.innerHTML End If End Sub とすれば、とりあえずエラーの回避はできると思います。
的外れな回答でしたらすみません。 今、情報を探してDocumentCompleteでやってみたらできました。 以下、参考URLです。 http://www001.upp.so-net.ne.jp/matsuoka/vb/c001.htm m(_ _)m
お礼
すみません。上の補足の補足です。 一回停止して2回目ではなくて、停止して、一度そのプログラムを保存した後、再度開いて実行するとエラーになってしまいます。 WebBrowserをFormに配置すると最初は何もかかれていない白いボックスですが、次回から(いったん保存して再度開いた後)はその部分は、”ページを表示できません”と書かれたボックスになっています。そうすると、エラーになってしまいます。 お礼のところに補足を付け加えさせていただきました。すみませんm(_ _)m
補足
下のソースで試したところ1回目はできたのですが、停止して2回目をやってみたら、やはりエラーになってしまいました。 一度WebBrowserにナビされてしまうとダメなのかな? WebBrowserを起動ごとに初期化すればいいのでしょうか・・・?でもその方法もわかりません(@_@) それとも他の原因でしょうか・・・。 Private Sub Command1_Click() WebBrowser1.Navigate "http://www.okweb.ne.jp" End Sub Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Text1.Text = WebBrowser1.Document.Body.innerHTML End Sub