Excel 尝试Web刮取时发生VBA运行时91错误

Excel 尝试Web刮取时发生VBA运行时91错误,excel,vba,web-scraping,Excel,Vba,Web Scraping,我正试图通过VBA自动化一些web数据抓取,我始终收到一个 运行时错误91“未设置对象变量” 在线 For Each htmlele In ieobj.document.getElementById("j_id_jsp_747894496_2").getElementsByTagName("tr") 我在下面包含了完整的代码。我可以看到htmlele没有声明,但我不确定这是否是问题所在。所有必需的对象库都已加载,因此VBA识别对象没有问题,但不确定其出错的确切原因 Sub import_ECS

我正试图通过VBA自动化一些web数据抓取,我始终收到一个

运行时错误91“未设置对象变量”

在线

For Each htmlele In ieobj.document.getElementById("j_id_jsp_747894496_2").getElementsByTagName("tr")
我在下面包含了完整的代码。我可以看到
htmlele
没有声明,但我不确定这是否是问题所在。所有必需的对象库都已加载,因此VBA识别对象没有问题,但不确定其出错的确切原因

Sub import_ECS()
    Dim courses As Workbook
    Set courses = Excel.Workbooks("CANTRAC Courses")
    Dim ECSws As Worksheet
    Set ECSws = courses.Sheets("ECS")
    Dim ieobj As InternetExplorer
    Set ieobj = New InternetExplorerMedium

    Dim htmlele As IHTMLElement

    Dim i As Integer
    i = 2

    Dim ECSURL As String
    ECSURL = "https://app.prod.cetars.training.navy.mil/cantrac/pages/rpt_classes_by_cin.html?cin=A-830-0030&p=1"


    ieobj.navigate ECSURL
    Application.Wait Now + TimeValue("00:00:15")



    For Each htmlele In ieobj.document.getElementById("j_id_jsp_747894496_2").getElementsByTagName("tr")
        With ECSws
            .Range("A" & i).Value = htmlele.Children(0).textContent
            .Range("B" & i).Value = htmlele.Children(1).textContent
            .Range("C" & i).Value = htmlele.Children(2).textContent
            .Range("D" & i).Value = htmlele.Children(3).textContent
            .Range("E" & i).Value = htmlele.Children(4).textContent
            .Range("F" & i).Value = htmlele.Children(7).textContent
            .Range("G" & i).Value = htmlele.Children(8).textContent
            .Range("H" & i).Value = htmlele.Children(9).textContent
            .Range("I" & i).Value = htmlele.Children(10).textContent
        End With
    i = i + 2
    Next htmlele

End Sub

您是否能够将此
ieobj.document.getElementById(“j_id_jsp_747894496_2”)
设置为变量,并使其值不为
Nothing
?(在开始循环之前,只是为了测试它)我将
ieobj.document.getElementById(“j_id_jsp_747894496_2”)
设置为一个变量,如果它是
nothing
它的内容不能被使用,那么它的值就返回为
nothing
。这就是错误的原因。找出为什么
Nothing
,你的问题就会解决。当你查看页面的源代码时,你能在任何地方找到
j_id_jsp_747894496_2
?如果是这样的话,请包含问题中的整行代码。(您必须在其前面放置4个空格,才能将其转换为可查看的代码)。这是ID#所在的html: