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

时间:2016-05-31 13:34:13

标签: html 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

我一直在寻找,但似乎无法找到一个对我的代码有意义的解决方案。

1 个答案:

答案 0 :(得分:0)

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

我猜对象层次结构不希望getElementById除了document之外的任何事情,所以通过用以下内容替换我的代码:

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

这似乎解决了它。

感谢大家的意见,但这确实很有帮助!