getattribute в VBA не может сравнить значение в наборе записей - PullRequest
1 голос
/ 06 октября 2019

Я работаю над проектом автоматизации для своей организации, где я требую, чтобы 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

Я сделал msgbox rsextract! MATCH_ID перед циклом, чтобы проверить, является ли значение тем же самым, которое я ищу, и является ли оно правильным. Я попытался поместить rsextract! MATCH_ID в "", но это тоже не помогло. Я явно чего-то не замечаю, но не знаю что. Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 06 октября 2019

Попробуйте следующее, которое использует селектор атрибута и объединение для цели. Без цикла.

ie.document.querySelector(".check[value='" & cstr(rsextract!MATCH_ID) & "']").click
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...