У меня проблема с одной частью моей работы по автоматизации, которая заключается в выборе ВСЕХ опций в выпадающем списке, на веб-странице с использованием VBA и IE.
Этот код выбирает ОДИН элемент в комбоbox
Set frm = HTMLDoc.getElementsByName("UFG.USER_TYPES")(0)
frm.Value = "AUT"
Однако, когда я пытаюсь выбрать несколько элементов, он просто выбирает последний, а не все.
Вот код с веб-страницы
<p id="DispFormCollapsible.Rc10"class="formrow" >
<span id="DispFormCollapsible.Rc10.C1" class="querytextleft">
<label for="UFG.USER_TYPES" id="LabelForContro123"class = "simpletext" >
Accessible Types:<span class="redstar">*</span></label></span>
<span id="DispFormCollapsible.Rc10.C2" class="querytextright">
<span class="labelColumn_combo">
<span class="labelColumn_combi_brdr">
<select name= "UFG.USER_TYPES" multiple= "true" class = "dropdownexpandalbe"
id="UFG.USER_TYPES" title = "Accessible Financial Transaction Types">
<option value="AUT" title="ACTIVE USER TYPE1" >TYPE1</option>
<option value="SET" title="Selective User Type" >TYPE2</option>
<option value="TST" title="Test User Type" >TEST3</option>
</select></span></span>
<input type ="hidden" name= "UFG.USER_TYPES" value="NULL" >
</span></p>
Вот моя строка VBA для выбора элемента
Set frm = HTMLDoc.getElementsByName("UFG.USER_TYPES")(0)
frm.Value = "AUT"
Что мне нужно сделать, это выбрать все «значения параметров» в выпадающем списке.Я думаю, что это должен быть массив, или каким-то другим способом.Я пытался искать, но у меня ничего не получается.Любая помощь приветствуется.Thx
Попробовал следующее, но получил ошибку 91 Блок не установлен.Я также пытался использовать значения "AUT" в дочерних элементах, и при этом я не получаю сообщение об ошибке, но ничего не выбирается.
With HTMLDoc.getElementsByName("Select")(0)
.Children(1).Selected = True
.Children(2).Selected = True
.Children(3).Selected = True
End With
Также пробовал следующее, это нене выдает ошибку, но выбирает только первый вариант в списке.
With HTMLDoc.getElementsByName("UFG.USER_TYPES")(0)
.Children(AUT).Selected = True
.Children(SET).Selected = True
.Children(TST).Selected = True
End With
Это странно, когда я использую этот код, он выбирает первые два в списке, но не третий.
With HTMLDoc.getElementsByName("UFG.USER_TYPES")(0)
.Children(all).Selected = True
End With