需要帮助,使用VBA在IE的组合框中选择多个项目

时间:2019-04-03 14:05:09

标签: excel vba internet-explorer combobox automation

我的自动化工作的一部分存在问题,那就是使用VBA和IE在网页上的组合框中选择所有选项。

此代码在组合框中选择一个项目

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"

我需要做的是在组合框中选择所有“选项值”。我认为它可能需要一个数组,或者其他某种方式。我已经尝试搜索,但是却一无所获。任何帮助表示赞赏。谢谢

尝试以下操作,但出现错误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

1 个答案:

答案 0 :(得分:0)

cvtColor(...,BGR2GRAY)

上面的代码修复了它...哎呀!