VBA проверяет несколько HTML-флажков в Интернете - PullRequest
0 голосов
/ 04 декабря 2018

Цель состоит в том, чтобы установить несколько флажков в зависимости от данных в ячейке J (i), разделенных разделителем «|».

Пример: столбец J, строка (i) = SkillA | SkillB| SkillC

Флажок: отметьте / выберите эти 3 навыка.

В настоящий момент я могу выбрать только 1 флажок, сохранив только 1 идентификатор в ячейке J:

Ячейка J = SkillA

Doc.getElementById(sht.Range("J" & i)).Click

Полный код:

    Dim sht As Worksheet
    Set sht = ThisWorkbook.Sheets("Fields")
    Dim LastRow As Long
    Dim i As Long
    LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
    Dim IE As Object
    Dim Doc As HTMLDocument
    Set IE = CreateObject("InternetExplorer.Application")
    '--------------------------------
    For i = 2 To LastRow
    IE.Visible = True
    IE.navigate sht.Range("A" & i).Value
    Do While IE.Busy
    Application.Wait DateAdd("s", 1, Now)
    Loop
    Set Doc = IE.document
code....
code....
     Doc.getElementById("tab6").Click
     Doc.getElementById(sht.Range("J" & i)).Click

    Next i
    IE.Quit
    MsgBox "Process 100% completed"
    End Sub

1 Ответ

0 голосов
/ 04 декабря 2018

Немного сбивает с толку, но звучит так, как будто вы хотите использовать split для генерации массива значений, которые вы можете передавать в качестве значений идентификаторов для флажков

Dim values() As String, i As Long
values = Split(sht.Range("J" & i).Value, "|")

For i = LBound(values) To UBound(values)
    On Error Resume Next
    Doc.getElementById(values(i)).Click
    On Error GoTo 0
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...