如何在没有ID的情况下在VBA中选择和更改下拉列表

时间:2013-06-06 18:03:45

标签: vba

因此,我一直在努力寻找一种方法来选择此特定网页上的下拉列表并更改其中的值。我查看过其他人的几十个代码示例,但是他们都是通过ID查找元素,我搜索的元素没有ID,网页上也没有任何其他元素。元素唯一唯一的值是name =。如果元素有ID,这将是简单和直接的,但是如果元素没有ID,我没有找到任何可以帮助我的代码。到目前为止我一直在尝试的是你在下面看到的,但似乎没有用。如果有人可以帮我知道如何按名称选择元素,然后从下拉菜单中更改选择,我将非常感激。谢谢。

到目前为止我的代码看起来像这样:

    For x = 1 To agent1.explorer.document.body.all.Length - 1
            temp = ""
            If agent1.explorer.document.body.all(x).Name = "advsearch_contents_objecttypectrl_0" Then
                agent1.explorer.document.body.all(x).Click
                Exit For
            End If
        Next

我正在遍历网页中的元素以找到我想要的元素,但是,它从不选择正确的元素,而且我没有想法。

我要选择的元素位于选择标记中,名称=“advsearch_contents”

下拉列表中有多个选项可供选择,但我想设置的值是sales_contracts

感谢您抽出宝贵时间伸出援助之手。非常感谢。

1 个答案:

答案 0 :(得分:0)

尝试以下代码

Set agent= agent1.explorer.document.getElementsByName("advsearch_contents_objecttypectrl_0")

        For x = 0 To agent.Options.Length - 1
            If agent.Options(x).Text = "sales_contracts" Then
                agent.selectedIndex = x
                Exit For
            End If
        Next

如果它不起作用请求您在帖子中添加html源页面。另请查看此post以获取其他方式。