Я работаю с VBA в Excel 2010 и Internet Explorer 8 и Vista.Код ниже работает, чтобы перейти на удаленный веб-сайт и опубликовать форму.На появившейся странице код должен нажать кнопку «получить оценки».Вместо этого я получаю эту ошибку «объектная переменная или переменная блока не установлена».Выделенная проблемная строка в коде - "оценивать = ieApp.document.getElementById (" btnRequestEstimates ")".
Я думаю, что часть проблемы может заключаться в том, что кнопка, которая не работает, является кнопкой отправки, которая не является частью формы.Мне также интересно, если переменные должны быть сброшены до 2-го нажатия кнопки.Сообщение об ошибке подразумевает, что это проблема квалификации, но я думаю, что это довольно стандартный способ квалификации элемента в этой ситуации.Вот некоторые вещи, которые я гуглял безрезультатно, я не совсем уверен, в чем проблема.
Sub btn_version()
Dim ieApp As Object
Dim ieDoc As Object
Dim ieForm As Object
Dim ieObj As Object
Dim URL As String
Dim estimate As Object
URL = "http://www.craft-e-corner.com/p-2688-new-testament-cricut-cartridge.aspx"
Set ieApp = CreateObject("InternetExplorer.Application")
ieApp.Visible = True
ieApp.navigate URL
While ieApp.Busy Or ieApp.readyState <> 4: DoEvents: Wend
Set ieDoc = ieApp.document
Set ieForm = ieDoc.forms(1)
For Each ieObj In ieForm.Elements
If ieObj.ClassName = "AddToCartButton" Then
ieObj.Click
End If
Next ieObj
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
While ieApp.Busy Or ieApp.readyState <> 4: DoEvents: Wend
estimate = ieApp.document.getElementById("btnRequestEstimates")
estimate.submit
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End Sub