1

列 A に都市、州が含まれるスプレッドシートがあります。現在の日から 3 日間の降水量のタイプ/値を列 B に取得したいと考えています。openweathermap API を使い始めましたが、XML の経験が不足していることがわかりました。自分。以下は私がどのように始めたかであり、さらに先に進むことができませんでした。ノードと要素を操作しようとしてもうまくいきませんでした。どんな助けでも大歓迎です。

サンプル XML http://api.openweathermap.org/data/2.5/forecast/daily?q=Boston+MA&mode=xml&units=metric&cnt=7へのリンクは次の とおりです。

Option Explicit

Function CityForecast(City As String) As String
Dim StartingURL As String
Dim SecondaryURL As String
Dim FinalURL As String
Dim CorrectedCity As String
Dim objXML As Object
Dim objDOM As MSXML2.DOMDocument60

CorrectedCity = Replace(City, " ", "+")
CorrectedCity = Replace(City, ",", "+")

StartingURL = "http://api.openweathermap.org/data/2.5/forecast/daily?q="
SecondaryURL = "&mode=xml&units=metric&cnt=7"
FinalURL = StartingURL + CorrectedCity + SecondaryURL
Debug.Print FinalURL

Set objXML = CreateObject("MSXML2.XMLHTTP")
Set objDOM = New MSXML2.DOMDocument60

With objXML
    .Open "GET", FinalURL, False
    .setRequestHeader "Content-Type", "application/x-www-form-URLEncoded"
    .send
    objDOM.LoadXML .responseText
End With


End Function

Function CorrectedDate(WxDate As String) As String
Dim yr As Integer
Dim dy As Integer
Dim mnth As Integer

yr = Left(WxDate, 4)
mnth = Right(Left(WxDate, 7), 2)
dy = Right(WxDate, 2)

CorrectedDate = mnth & "/" & dy & "/" & yr
End Function
4

1 に答える 1