【发布时间】:2017-04-18 14:15:55
【问题描述】:
我有这个从天气 API 获取天气信息的子程序。它适用于 Windows 7 计算机,但不适用于 Windows 10。我收到“未定义用户定义类型”错误,并突出显示 Dim Req As New XMLHTTP 行。我尝试将 DOMDocument 更改为 DOMDocument60,并尝试确保选中 MicrosoftXML V6.0。
Public Sub GetWeather(APIurl As String, sted As String)
Dim i As Integer
Dim ws As Worksheet: Set ws = ActiveSheet
Dim city As String
Dim omraade As String
Dim Req As New XMLHTTP
Dim Weather As IXMLDOMNode
Dim wShape As Shape
Dim thisCell As Range
Dim Resp As New DOMDocument60
i = 0
omraade = ""
omraade = sted
Select Case omraade
Case "Area1"
i = 4
Case "Area2"
i = 6
Case "Area3"
i = 8
Case Else
Exit Sub
End Select
Req.Open "GET", "" & APIurl & "", False
Req.Send
Resp.LoadXML Req.responseText
For Each Weather In Resp.getElementsByTagName("current_condition")
Set thisCell = ws.Range(Cells(2, i), Cells(2, i))
Set wShape = ws.Shapes.AddShape(msoShapeRectangle, thisCell.Left, thisCell.Top, thisCell.Width, thisCell.Height)
wShape.Fill.UserPicture Weather.ChildNodes(4).Text 'img
Cells(3, i).Value = "" & Weather.ChildNodes(7).Text * 0.28 & " m/s" 'windspeedkmph
Cells(4, i).Value = Weather.ChildNodes(9).Text 'Direction
Cells(5, i).Value = Weather.ChildNodes(1).Text & " C" 'observation time
Next Weather
End Sub
有什么想法吗?
【问题讨论】:
-
在项目参考中查找缺失项。
标签: xml excel vba domdocument