Автоматизировать значение списка в VBA - PullRequest
0 голосов
/ 22 мая 2018

Здравствуйте. Я пытаюсь автоматизировать значение на веб-сайте, в котором есть два списка.Для первого списка это код работает, однако он не работает для второго списка.Я не могу просто скопировать и вставить этот код под ним для второго, даже если я изменю переменную «а».Любая помощь приветствуется!

For a = 1 To cats.Options.Length
If cats.Options(a).Text = "Option One" Then
cats.selectedindex = a
Exit For
End If
Next a

1 Ответ

0 голосов
/ 22 мая 2018

Если вы работаете с несколькими списками, вы должны придумать повторно используемый блок кода, который вы можете вызвать для любого списка + значение.

Что-то вроде:

Function SetByTextValue(lst as object, v as string) As Boolean
    Dim a as long
    For a = 0 To lst.Options.Length - 1
        If lst.Options(a).Text = v Then
            lst.selectedindex = a
            SetByTextValue = True
            Exit Function
        End If
    Next a
End Function

Тогда в вашем основном коде вы можете сделать что-то вроде:

If Not SetByTextValue(cats, "Option One") Then
   'not found
Else
   '...proceed with next list
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...