前提・実現したいこと
VBAでWebからのデータ抽出を試しています。
※以下URLの雑誌一覧の雑誌名をすべて抽出
発生している問題・エラーメッセージ
コードを見様見真似で書いてみたのですが、どうしてもリストの途中からの雑誌名しか抽出できない状態です。
該当のソースコード
Sub MySub()
Dim objIE As InternetExplorer Set objIE = New InternetExplorer objIE.Visible = True objIE.navigate "https://magazine.dmkt-sp.jp/list/30_000000" Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE DoEvents Loop Dim htmlDoc As HTMLDocument Dim elm As Variant Set htmlDoc = objIE.document
For Each elm In objIE.document.getElementsByClassName("omission")
Debug.Print elm.innerText
Next elm
End Sub
試したこと
追加で試すべきことがわからず、こちらで質問させていただいている次第です。
補足情報(FW/ツールのバージョンなど)
Windows10/Excel 2016
ここにより詳細な情報を記載してください。
ぱっと見た感じ問題なさそうですね。
>リストの途中からの雑誌名しか抽出できない状態です。
とは具体的にはどのような症状ですか?
早々にご確認いただきまして有難うございます!
具体的には、一覧の一番下段の雑誌名からしかリストが抽出できない、状況です。
一覧の一番最初から最後までを抽出したいため、このコードでなぜ途中からになるのかが自力で分からずに質問させていただいた次第です。
恐れ入りますが、ご教示いただければ幸いです。
>一覧の一番下段の雑誌名
ブラウザによってそのあたりの挙動異なりますが、html要素で数えた時の9つめのomissionクラス要素である「&premium」の雑誌からしか情報が取れないということですか?
それは実行するたびに必ず同じ位置になりますか?
Debug.Print htmlDoc を実行したときに出力されるログを50~100行くらいまで出力いただくことはできますか?
回答がでましたので修正不要です。
色々とご教授いただきまして有難うございました!
回答1件
あなたの回答
tips
プレビュー