テーブル内のデータを Microsoft Excel に取得したいこの Web サイトがあります。
多くの VBA の例を使用しましたが、テーブルのテーブル タグ (HTML 内) に名前または ID がないため、どれも機能しませんでした。
これはサイトです:
テーブルデータを「取得」してExcelに入れるにはどうすればよいですか?
[編集者注記 11 月 13 日: URL が正当であることを確認しました。]
テーブル内のデータを Microsoft Excel に取得したいこの Web サイトがあります。
多くの VBA の例を使用しましたが、テーブルのテーブル タグ (HTML 内) に名前または ID がないため、どれも機能しませんでした。
これはサイトです:
テーブルデータを「取得」してExcelに入れるにはどうすればよいですか?
[編集者注記 11 月 13 日: URL が正当であることを確認しました。]
探しているテーブルは、ドキュメント ルート ( <html>
)の下の 21 (!!!) レベルにあり、「 Table3」の値に設定されたクラス属性があります。
<table width="100%" cellspacing="1" cellpadding="0" border="0" class="Table3">
これは HTML 全体で 1 回だけ使用されるため、かなり適切な選択基準が得られます。だから私はあなたが次のようなことをすることをお勧めします
Dim Doc As MSHTML.HTMLDocument
Dim ECol As MSHTML.IHTMLElementCollection
Dim IFld As MSHTML.IHTMLElement
Set ECol = Doc.getElementsByTagName("table")
For Each IFld In ECol
If VarType(IFld.getAttribute("class")) <> vbNull Then
If IFld.getAttribute("class") = "Table3" Then
' further process the Inner HTML of IFld ...
End If
End If
Next
' ...
String 値をチェックする前に最初に VarType をチェックすることは、クラス要素を含まないテーブル要素を検出して除外することです。この場合、If
クラス名はエラーで失敗します。
VBA デバッガーとF8鍵はあなたの友達です!