GetElementsbyClassname: открытый IE против методов MSXML2

Следующий макрос работает просто отлично. Он открывает экземпляр IE и использует метод «getelementsbyclassname», чтобы вернуть ожидаемое значение для «my_rate». Однако, когда я запускаю второй макрос, который использует метод «MSXML2», макрос завершается ошибкой в ​​отмеченной строке и возникает ошибка «Ошибка времени выполнения 438: объект не поддерживает это свойство или метод». Почему метод Open IE работает, но метод MSXML2 не работает с моим кодом? Я использую IE 11. У меня также есть набор ссылок на библиотеку объектов Microsoft HTML для второго макроса, но, похоже, это не имеет значения. Заранее спасибо за объяснение мне.

Sub BankRate_Rate_Retrieval()
    my_url = "http://www.bankrate.com/funnel/mortgages/mortgage-results.aspx?market=321&loan=150000&perc=20&prods=2&points=0"   
    Set ie = CreateObject("InternetExplorer.Application")

    With ie
        .Visible = True
        .Navigate my_url
        .Top = 50
        .Left = 530
        .Height = 400
        .Width = 400
    End With

    Do Until Not ie.Busy And ie.readyState = 4
        DoEvents
    Loop

    my_rate = ie.Document.getelementsbyclassname("br-col-2 br-apr")(1).getElementsByTagName("div")(0).innertext
End Sub


Sub BankRate_Rate_Retrieval()
    my_url = "http://www.bankrate.com/funnel/mortgages/mortgage-results.aspx?market=321&loan=150000&perc=20&prods=2&points=0"
    Set html_doc = CreateObject("htmlfile")
    Set xml_obj = CreateObject("MSXML2.XMLHTTP")

    xml_obj.Open "GET", my_url, False
    xml_obj.send
    html_doc.body.innerhtml = xml_obj.responseText
    Set xml_obj = Nothing

    my_rate = html_doc.body.getelementsbyclassname("br-col-2 br-apr")(1).getElementsByTagName("div")(0).innertext

«Ошибка времени выполнения 438: объект не поддерживает это свойство или метод возникает в строке выше

End Sub

Редактировать: Скриншот библиотеки для Д. Земенса

Ответы на вопрос(1)

Ваш ответ на вопрос