【发布时间】:2016-06-01 21:08:27
【问题描述】:
我在以下代码中的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
我四处搜索,但似乎找不到对我的代码有意义的解决方案。
【问题讨论】:
-
作为解决这些问题的一般方法,在该行设置断点。然后使用即时窗口调查方法/属性链中的问题所在(例如,
document是否设置为对象?getElementsByClassName(是否返回任何内容?) -
你能有两个这样的论点吗?
getElementsByClassName("prod-summ")(tdNum) -
你可以。
("prod-summ")是 ClassName,(tdNum)是一个数字变量。所以第一个实例是getElementsByClassName("prod-summ")(0),它针对具有类“prod-summ”的元素的第一个实例