VBAのIE操作で取得したデータをリスト化 削除
Message#2 2014年10月2日(木)13時30分 From: 管理人 |
まずURLの部分ですが、 > ie.navigate "http://www.xxxxxxxxxxxxxx(" & URL1 & ").html(" & URL2 & ")" これは正しく表示されるのでしょうか? URLに()が付いていますが、こちらでエラーになっているような気がします。 URL1とURL2に何が入っているのかは分かりませんが、以下が正しいと思われます。 ie.navigate "http://www.xxxxxxxxxxxxxx" & URL1 & ".html" & URL2 次にtdタグのデータ格納についてですが、こちらは100〜300ということで200個のデータをセルに格納したいということでしょうか? > For i = 100 To 300 > If Doc.all(i).tagName = "TD" Then > n = n + 1 > Cells(Int((n - 1) / 40) + 1, (n - 1) Mod 40 + 1) = Doc.all(i).innerText > End If > Next i こちらの処理ですが、まずDoc.all(i).tagNameはtdタグの数ではなく、全てのタグになりますので、300タグまでの処理で終わってしまいます。 次に40で割っていますが、こちらの意図がいまいちわかりません。 単に列ごとにデータを格納したいのであれば、 n=3 For i = 0 To Doc.All.Length - 1 If Doc.all(i).tagName = "TD" Then Cells(j, n) = Doc.all.Tags("td")(i).innerText n = n + 1 End If Next i でいけるかと思います。 VBAのIE操作について、初心者ということですので、下記の「エクセルVBAでIEの基本操作」を熟読されると分かりやすいかと思います。 ■エクセルVBAでIEの基本操作 http://www.vba-ie.net/ie/index.html |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。