VBA - 对象变量或未设置块变量.整数变量



我在以下代码If document.getElementsByClassName("prod-summ")(tdNum).getElementById("no-piece").FirstChild.NodeValue = ItemNbr Then行上不断收到"运行时错误'91':对象变量或未设置块变量":

Dim tdNum As Integer
Dim ItemNbr As String
    'More code here
tdNum = 0
    If document.getElementsByClassName("prod-summ")(tdNum).getElementById("no-piece").FirstChild.NodeValue = ItemNbr Then
        Cells(cell, 2).Value = document.getElementsByClassName("prod-summ")(tdNum).getElementById("col-action").getElementsByTagName("span")(0).innerText
    Else
        tdNum = tdNum + 1
    End If

我已经搜索了周围,但似乎找不到对我的代码有意义的解决方案。

我解决了我的问题。首先,有一个错别字。而不是getElementsByClassName("prod-summ")它应该被getElementsByClassName("prod-somm")

而且我想对象层次结构不喜欢在除document之外的任何东西之后getElementById,因此将我的代码替换为以下内容:

For tdNum = 0 To 10
    If document.getElementsByClassName("prod-somm-texte")(tdNum).FirstChild.FirstChild.NodeValue = ItemNbr Then
        Cells(cell, 2).Value = document.getElementsByClassName("prix")(tdNum).FirstChild.innerText
        Exit For
    Else
        Debug.Print document.getElementsByClassName("prod-somm-texte")(tdNum).FirstChild.FirstChild.NodeValue
    End If
Next tdNum

这似乎解决了它。

谢谢大家的投入,这真的很有帮助!