按文本选择下拉列表而不是值

时间:2013-05-02 19:48:17

标签: excel-vba vba excel

我正在尝试编写Excel VBA脚本以导航到网站,并使用列表项中的文本从下拉列表中进行选择,而不是索引的值。通过检查HTML代码,我可以看到下拉列表中的值看起来是没有可识别模式的整数,并且似乎与下拉列表中为条目显示的文本无关。

<option value="246">new2</option>
<option value="245">new</option>
<option value="196">test</option>

我可以成功使用以下命令:

ieDoc.getElementById("viewMaintainFixedCombustible_fixedCombustible_fireZoneId").Value = 246

要从下拉列表中选择项目“new2”,请发送值246.或者,我可以发送245以选择“新”。但是,列表中的元素总是在变化,因此按值(246,245等)进行选择是不切实际的。因此,我正在寻找一种方法从下拉列表中选择一个条目(例如“new2”),方法是在VBA中发送条目的文本名称(例如“new2”)。

有没有人有办法如何做到这一点?

1 个答案:

答案 0 :(得分:1)

尝试以下示例代码,按文字设置下拉列表。

    Set drp =ieDoc.getElementById("<id of your dropdown>")
    For x = 0 To drp.Options.Length - 1
        If drp.Options(x).Text = "new2" Then
            drp.selectedIndex = x
            Exit For
        End If
    Next