図9:「新しいWebクエリの作成」で各設定をする |
![]() |
Webクエリを使用すると、このような形でHTMLファイルの表からデータを取り込むことができるのです。さらに、HTMLファイル側で情報の更新があった場合、Excel 2000のメニューから[データ]-[データの更新]を選択すると、取り込まれる内容もHTMLファイルの変更が反映されたものになります。つまり、Webクエリを一度設定しておけば、あとはこの「更新」を行なうだけで、最新の情報を取り込むことが可能となるのです。最新の活動履歴を取り込んだり、最新の価格表を取り込んだりと、その用途はさまざまなものが考えられます。
上記の一連のWebクエリの設定をコードで行なうと、以下のような形になります。
Sub GetWEBData()
With Sheets(1).QueryTables.Add( _
Connection:="URL;¥¥BossPC¥日報¥増田.htm", _
Destination:=Sheets(1).Range("A1"))
' 新しい「QueryTableオブジェクト」を作成する
' 取り込みたいHTMLファイルまでのパスと、
' 取り込みを開始する場所を設定
.Name = "増田データ抽出"
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "2"
' 各種の設定を行なう
' 上記では「2番目のテーブルからデータだけを抽出」という設定
.Refresh BackgroundQuery:=False
' 設定に基づいてデータの取り込みを開始する
End With
End Sub
Webクエリをはじめとする「外部データの取り込み」は、QueryTableオブジェクトで管理が行なわれています。QueryTableオブジェクトは設定の項目数が多く、すべてをコードから設定するのはかなり骨が折れる作業です。そのため、「マクロの自動記録」で記録を取りながら設定を行ない、記録されたコードに必要に応じて修正を加えていくのが、現実的な方法だと言えます。