最近まで、以下のコードを使用していましたが、しばらくの間うまくいきました。さて、突然それはうまくいきません。TRとTDのタグ名を使用してウェブからデータをダウンロードする方法は?
Sub Dow_HistoricalData()
Dim xmlHttp As Object
Dim TR_col As Object, TR As Object
Dim TD_col As Object, TD As Object
Dim row As Long, col As Long
ThisSheet = ActiveSheet.Name
Range("A2").Select
Do Until ActiveCell.Value = ""
Symbol = ActiveCell.Value
Sheets(ThisSheet).Select
Sheets.Add
Set xmlHttp = CreateObject("MSXML2.XMLHTTP.6.0")
myURL = "http://finance.yahoo.com/quote/" & Symbol & "/financials?ltr=1"
xmlHttp.Open "GET", myURL, False
xmlHttp.setRequestHeader "Content-Type", "text/xml"
xmlHttp.send
Dim html As Object
Set html = CreateObject("htmlfile")
html.body.innerHTML = xmlHttp.responseText
Dim tbl As Object
Set tbl = html.getElementById("Lh(1.7) W(100%) M(0)")
'
row = 1
col = 1
Set TR_col = html.getElementsByTagName("TR")
For Each TR In TR_col
Set TD_col = TR.getElementsByTagName("TD")
For Each TD In TD_col
Cells(row, col) = TD.innerText
col = col + 1
Next
col = 1
row = row + 1
Next
Sheets(ActiveSheet.Name).Name = Symbol
Sheets(ThisSheet).Select
ActiveCell.Offset(1, 0).Select
Loop
End Sub
私は、この行でエラーメッセージが出てい:xmlHttp.send
はここでエラーメッセージがあります。 'アクセスが拒否されました。'私はこれに関するいくつかの調査を行いました。セキュリティと関係していると思いますが、マシンやYahooサイトで何が変わったのか分かりません。
ここに私のセットアップのイメージがあります。
-e5af3212-e024-4d4c-bea0-623cf07fbc54。私は彼らがあまりにも多くのトラフィックを使用するIPをブロックするかもしれないと推測しています – Slai
また、Excel 2013はWEBSERVICE機能を持っていますhttp://slowwealth.blogspot.com/2013/07/fetching-stock-quotes-with-excel-2013.html – Slai
ありがとう、私はこの特定のスクリプトについて尋ねています。私は選択肢について知っています。私はうまく動作していたこのソリューションがもう動作しない理由を理解しようとしています。 – ryguy72