2016-08-12 11 views
0

web page、 からテーブルを取り込み、インポートするマクロを作成しようとしています。具体的には、2つのテーブルtables pointed by arrows, please ignore the text in the table if it doesn't make sense, I translated using googleを取得します。これらのテーブルは自動的に更新されるので、IEアプローチ(@ronによる)を使用して、データをスクラップしませんでした。誰も助けてくれますか?私は初心者です。助けてくれてありがとうございます。vbaは非静的なWebテーブルデータをスクラブします

Sub test() 
    ' open IE, navigate to the website of interest and loop until fully loaded 
     Set IE = CreateObject("InternetExplorer.Application") 
     my_url = "http://www.neeq.com.cn/static/statisticdata.html" 

    With IE 
     .Visible = False 
     .navigate my_url 
     .Top = 50 
     .Left = 530 
     .Height = 400 
     .Width = 400 

    Do Until Not IE.busy And IE.ReadyState = 4 
     DoEvents 
    Loop 

    End With 

    Set tbl = IE.Document.getElementsByTagName("table") 
    For Each itm In tbl 
     i = 1 
     For Each itm2 In itm.Rows 
      For Each cell In itm2.Cells 
       ActiveSheet.Cells(i, 2) = cell.innerText 
       i = i + 1 
      Next 
     Next 
    Next 
    end sub() 
+0

End Subのを()間違って – cutzero

+0

秒ですorry、それはタイプミスです。 – Michael

答えて

0

あなたはIEを使用しているため、非statixがします。Debug.Print

とリターン(ジャバスクリプトが実行される)

i = 1 
For Each itm2 In tbl.getElementsByTagName("tr") 

テストする必要があります それぞれの行のあなたのテーブルオブジェクトから "TR" を選択する必要があります

あなたは、HTMLその後、テーブルを選択 - > TR - > TD

Sub test() 
    ' open IE, navigate to the website of interest and loop until fully loaded 
     Set IE = CreateObject("InternetExplorer.Application") 
     my_url = "http://www.neeq.com.cn/static/statisticdata.html" 

    With IE 
     .Visible = False 
     .navigate my_url 
     .Top = 50 
     .Left = 530 
     .Height = 400 
     .Width = 400 

    Do Until Not IE.busy And IE.ReadyState = 4 
     DoEvents 
    Loop 

    End With 

    Set tbl = IE.Document.getElementsByTagName("table") 
    For Each itm In tbl 
     i = 1 
     For Each itm2 In itm.getElementsByTagName('tr') 
      For Each cell In itm2.getElementsByTagName('td') 
       ActiveSheet.Cells(i, 2) = cell.innerText 
       i = i + 1 
      Next 
     Next 
    Next 
    end sub 
関連する問題