VBA 中的 getattribute 无法比较记录集中的值



我正在为我的组织做一个自动化项目,我需要 VBA 来选中网页上的复选框。如果我在从 HTML 源代码中检索到的复选框的值中进行硬编码,我可以选中该框。但是,该值不会保持静态 - 该值将从记录集表派生。所有这些都在Access VBA中工作。

这是我在值中硬编码的代码 - 这非常有效。

Set search1 = IE.Document.getElementsByClassName("check")
For Each e In search1
If (e.getAttribute("value") = "2207891") Then
e.Click
Exit For
End If
Next e

但是,当相同的值来自记录集时,我无法选中复选框。我忽略了什么?

Set search1 = IE.Document.getElementsByClassName("check")
For Each e In search1
If (e.getAttribute("value") = rsextract!MATCH_ID) Then
e.Click
Exit For
End If
Next e

我做了一个味精盒 rsextract!在循环之前MATCH_ID检查该值是否与我正在寻找的值相同并且该值是否正确。我尝试放置 rsextract!MATCH_ID在"中,但这也没有帮助。我显然忽略了一些东西,但我不知道是什么。任何帮助将不胜感激。

尝试以下使用属性选择器和串联到目标的操作。无循环。

ie.document.querySelector(".check[value='" & cstr(rsextract!MATCH_ID) & "']").click

最新更新