#267 ホームページのHTMLのコードを取り込む方法 フォーム、VBA

「Webブラウザコントロール」を使うと、Accessのフォームにもインターネット上のホームページの画面を表示させることができます(その方法については「#207 フォームにWebページを表示するには?」を参照)。

一方、このWebブラウザコントロールは、ただ指定されたURLのページを表示するだけでなく、そのページのHTMLを取得するためのプロパティ"Document"も用意されています(正確にはDocumentオブジェクト下のBodyオブジェクトのinnerHTMLプロパティを使用)。

ここではその使用例を紹介します。次のプログラムでは、コマンドボタン"cmdHTML取得"をクリックしたときに所定のURLをWebブラウザコントロールに表示します。そして、Webブラウザコントロールの"DocumentComplete"イベントが発生したタイミングでHTMLを取得しています。"DocumentComplete"イベントはWebページの内容をすべて読み込み完了すると発生します。その時点でHTMLも読み込みが完了していますので、Document.Body.innerHTMLの値を読んでその値をHTMLのコードとしてイミディエイトウィンドウに表示しています。もちろん、その文字列を解析することによって、HTMLから直接、ページタイトルやリンク先、画像ファイル名といったさまざまな情報を入手することも可能です。
Private Sub cmdHTML取得_Click()

  '指定したURLのホームページを表示
  WebBrowser0.Navigate "http://homepage1.nifty.com/tsware/"

End Sub

Private Sub WebBrowser0_DocumentComplete(ByVal pDisp As Object, URL As Variant)

  'HTMLをイミディエイトウィンドウに表示
  Debug.Print WebBrowser0.Document.Body.innerHTML

End Sub

実行結果:
表示されたホームページ 取得されたHTML
| Index | Prev | Next |

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします


Copyright © T'sWare All rights reserved