###前提・実現したいこと
Webページに明細のtableがあって(1行から最大でも50行)
そこの項目をExcelに持ってくる
ということがしたいです。
明細行は何行あるかはわかりません。改ページはありません。(もし50行あったら同じページにだーっと50行並びます)
明細行の要素のidは
datalist[0].item
datalist[1].item
datalist[2].item
…(中略)…
datalist[49].item
という感じの命名になっているっぽいです。
###発生している問題・エラーメッセージ
「まず要素が存在するかどうかを判定して、あったら項目を持ってくる、なければFor~Nextを抜ける」
という感じを考えました。
JavaScriptだと、存在しない要素はNullが返るので、ExcelVBAでも同じかなーと思って……
こんな感じで書いてみたのですが
VBA
1For i = 0 To 49 2 If IsNull(objIE.document.getElementById("dataList[" & CStr(i) & "].item").Value) Then 3 Exit For 4 Else 5 ' 要素があったときの処理 6 End If 7Next i
IsNullのところで、実行時エラー424(指定したオブジェクトが無いときに出る)で止まってしまいます。
IsNullのところをIsErrorにしたらTrueが返るかなーと思ったんですが、やっぱり424で止まります……。
On Error GoTo でエラー処理に飛ばして……だと、そのあとこの場所に戻ってくるやり方がわかりません。
###補足情報(言語/FW/ツール等のバージョンなど)
Excel2016、Windows10、IE11です。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/05 05:53