Quantcast
Channel: Excel Help Forum - Excel Programming / VBA / Macros
Viewing all articles
Browse latest Browse all 50243

[SOLVED] XML Vba User Defined Error

$
0
0
I have the following code and whenever I run it it highlights the 1st line of the code and says "User-defined type not defined". What is wrong with it as I can't see any issue.
To clarify, the line of code " Dim xmlLoad As New MSXML2.DOMDocument" is highlighted and the error message appears when the macro is run.
Code:

Sub XML_test()
    Dim xmlLoad As New MSXML2.DOMDocument
    Dim allevents As IXMLDOMNode
    Dim eventslen As Integer
    Dim events As IXMLDOMNode
    Dim XMLHttpRequest As MSXML2.XMLHTTP
    Dim i As Integer
    Dim URL As String
   
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    On Error Resume Next
       
    With ThisWorkbook.Worksheets("HSSS")
   
    URL = "URL GOES HERE"
    Set XMLHttpRequest = New MSXML2.XMLHTTP
    XMLHttpRequest.Open "GET", URL, False
    XMLHttpRequest.send
    Set xmlLoad = New MSXML2.DOMDocument
    Do Until xmlLoad.readyState = 4
    Loop
    xmlLoad.LoadXML (XMLHttpRequest.responseText)
   
    eventslen = xmlLoad.DocumentElement.ChildNodes.Length
   
    Set allevents = xmlLoad.DocumentElement.ChildNodes(eventslen - 1)

    eventslen = allevents.ChildNodes.Length
   
    i = 0
    For i = 0 To (eventslen - 1) Step 1
        Set events = allevents.ChildNodes(i)
        ThisWorkbook.Sheets("HSSS").Cells(i + 2, 1).Value = events.FirstChild.Text
        ThisWorkbook.Sheets("HSSS").Cells(i + 2, 2).Value = events.ChildNodes(5).ChildNodes(0).FirstChild.Text
        ThisWorkbook.Sheets("HSSS").Cells(i + 2, 2).Value = events.ChildNodes(5).ChildNodes(0).ChildNodes(0).Text
        ThisWorkbook.Sheets("HSSS").Cells(i + 2, 3).Value = events.ChildNodes(5).ChildNodes(1).FirstChild.Text
        ThisWorkbook.Sheets("HSSS").Cells(i + 2, 7).Value = events.LastChild.FirstChild.SelectSingleNode("moneyline").ChildNodes(0).Text
        ThisWorkbook.Sheets("HSSS").Cells(i + 2, 5).Value = events.LastChild.FirstChild.SelectSingleNode("moneyline").ChildNodes(1).Text
        ThisWorkbook.Sheets("HSSS").Cells(i + 2, 6).Value = events.LastChild.FirstChild.SelectSingleNode("moneyline").ChildNodes(2).Text
    Next i
   
Set xmlLoad = Nothing
Set allevents = Nothing
End Sub


Viewing all articles
Browse latest Browse all 50243

Trending Articles