#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'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved