問題経緯
そのために下記コードを実行しようと試みるもどういう訳か
ieobj.documentのところでオートメーションエラーという表示が出てしまい先に進まない
Dim doc As HTMLDocument: Set doc = ieobj.document
何故エラーなのかが理解できない
実現したいこと
internet explorerから特定の情報を取得したい
入手したい情報は下記リンクの食品成分の表の情報を取得してエクセルに書き出したいです。
https://fooddb.mext.go.jp/result/result_top.pl?USER_ID=17072
'
Sub getiewindow()
Application.ScreenUpdating = False
Dim ieobj As InternetExplorer: Set ieobj = New InternetExplorer
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("list")
Dim shell As Object: Set shell = CreateObject("Shell.Application")
Dim win As Object
For Each win In shell.Windows
If win.Name = "Internet Explorer" Then
Set ieobj = win
Exit For
End If
Next win
Call writedata(ieobj)
End Sub
Sub writedata(ieobj As InternetExplorer)
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("list")
Dim r As Long, c As Long
Dim cnt As Long: cnt = 1
Dim doc As HTMLDocument: Set doc = ieobj.document Dim target As IHTMLElement Set target = doc.getElementById("result_table") Dim tdtags As IHTMLElementCollection Set tdtags = target.getElementsByTagName("td") Dim tdtag As IHTMLElement For Each tdtag In tdtags r = cnt \ 11 + 2 c = cnt Mod 11 + 1 ws.Cells(r, c).Value = tdtag.innerText cnt = cnt + 1 Next tdtag Set doc = Nothing
End Sub
Sub waitIE2(ieobj)
Do While ieobj.Busy = True Or ieobj.readyState < READYSTATE_COMPLETE '読み込み待ち
DoEvents
Loop
End Sub
コード
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/11/12 06:57 編集