我在以下代码的第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
我一直在寻找,但似乎无法找到一个对我的代码有意义的解决方案。
答案 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
这似乎解决了它。
感谢大家的意见,但这确实很有帮助!