メニュー 表示 非表示

XmlHttpRequest送信@Excel マクロ・VBA

Ajaxで利用するXmlHttpRequestを利用します。
Microsft XMLを参照設定します。

以下では、ライブドアのお天気情報Web APIから情報を取得します。

XmlHTTPを生成します。
urlを設定します。ここでは、東京の今日のお天気です。

リクエストを同期モードでオープンします。
Null送信です。

responseXMLにてXML形式でレスポンスを受け取ります。
取得したXMLから情報を抜き出して表示します。



Sub test()
Dim xmlHttpReq As xmlHttp
Dim xml As DOMDocument


On Error GoTo Err
    'XmlHTTP生成
    Set xmlHttpReq = New xmlHttp

    'ライブドアお天気情報 Web API
    url = "http://weather.livedoor.com/forecast/webservice/rest/v1"
    '東京の今日のお天気
    url = url & "?city=63&day=today"

    'リクエストオープン(同期モード)
    xmlHttpReq.Open "GET", url, False

    'NULL送信
    xmlHttpReq.send (Null)

    'レスポンス取得
    Set xml = xmlHttpReq.responseXML

    'お天気情報表示
    Set sheet = Worksheets("Sheet1")
    'タイトル
    sheet.Range("A1") = xml.LastChild.ChildNodes(2).Text
    'リンク
    sheet.Range("A2") = xml.LastChild.ChildNodes(3).Text
    '天気
    sheet.Range("A3") = xml.LastChild.ChildNodes(8).Text
    '内容
    sheet.Range("A4") = xml.LastChild.ChildNodes(9).Text

    '終了
    Set xmlHttpReq = Nothing
    Set xml = Nothing
    Set sheet = Nothing
    Exit Sub

'エラー
Err:
    Set xmlHttpReq = Nothing
    Set xml = Nothing
    Set sheet = Nothing

    MsgBox (Err.Description)

End Sub




Copyright (C) Excelマクロ・VBAのお勉強. All Rights Reserved.