列 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