私は広範囲に検索して、探しているものが見つかりませんでした。私のVBAに関する知識はこれまで数を操作することに限定されていたので、これは私の新しい分野です。URL [Excel VBA]からデータを取得しています
私は、次のURLから1行のデータを取得しようとしていますLINK。
Enum READYSTATE
READYSTATE_UNINITIALIZED = 0
READYSTATE_LOADING = 1
READYSTATE_LOADED = 2
READYSTATE_INTERACTIVE = 3
READYSTATE_COMPLETE = 4
End Enum
Sub ImportStackOverflowData()
Dim ie As InternetExplorer
Dim html As HTMLDocument
Set ie = New InternetExplorer
ie.Visible = False
ie.navigate "http://api.rsbuddy.com/grandExchange?a=guidePrice&i=1637"
Do While ie.READYSTATE <> READYSTATE_COMPLETE
DoEvents
Loop
'show text of HTML document returned
Set html = ie.document.body
MsgBox html.DocumentElement.innerHTML
'close down IE and reset status bar
Set ie = Nothing
Application.StatusBar = ""
End Sub
、URLに移動した後:それが終わると、私はそのデータを解析する上で動作することができますが、我々はその橋を渡るよ...ここ
は、これまでのエクセルVBAのコードがありますIEのダウンロードウィンドウが開き、.jsonファイルを開くか保存するかを尋ねます。何かをクリックするとコードがクラッシュし、無視すると、その下のREADYSTATEループにコードが残されます。このウィンドウを開けないようにするにはどうしたらいいですか?その情報をブックに挿入するにはどうすればよいですか?
ありがとうございます。
私の理解から(おそらく間違っている)、サーバーから送信されたヘッダーのため、サイトのコンテンツがダウンロードとして配信されています。これはあなたがコントロールできないものです。手動でサイトに移動しても、ダウンロードプロンプトが表示されますか?ちょっとしたことに、IE Object Libraryにリファレンスが設定されているのを見ると、モジュールの上部に 'ReadyState'列挙型を作成する必要はありません。 –
ありがとう、それは私が従っていたガイドの一部だった。それを削除します。 また、この問題はIEが.jsonをネイティブで表示できないためですか?別のブラウザに切り替える必要がありますか? – User9123
こんにちは、私はあなたの編集と同時にコメントしました。 chromeまたはfirefoxでURLを開くと、1行のテキストが表示されます。 IEで開いてファイルを保存しようとしました... – User9123