我在以下代码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
这似乎解决了它。
谢谢大家的投入,这真的很有帮助!