VBA无法通过选择下拉菜单获取选项

时间:2016-03-08 23:09:15

标签: vba internet-explorer

我正在尝试设置下拉框的值,它显示一个空白甚至不是一个选项。

这是HTML剪辑:(注意:内部网站所以我不能提供URL或太多)

<select id="entNo" name="entNo" style="width:75px">
  <option selected="selected" value="All">All</option>
  <option value="650101">650101</option>
  <option value="66">66</option>

这是它的功能。

    function requestEntities()
  {
      var ele = document.getElementById('entNo');
      if (ele) {
          ele.options.length = 0;
          ele.options[0] = new Option('All');
          ele.disabled = true;
          ele = document.getElementById('divNo');
          if (ele) {
              var i = ele.selectedIndex;
              var div = ele.options[i].value;
              sendHttpRequest('http://example.com/cgi-bin/wspd_cgi.sh/WService=wslive//wpr/entityList.r?div=' + div);
          }
      }
  }

我使用的vba代码是:

Set objCollection = ie.document.getElementsByTagName("select")
    'Debug.Print objCollection.Length

    i = 1
    While i < objCollection.Length        'Loop to locate and change the fields with proper data using the "select" tags
        Debug.Print objCollection(i).Value
        If objCollection(i).Name = "entNo" Then
            If ecode <> "" Then
            Debug.Print objCollection(i).Value
                objCollection(i).Value = ecode
            End If

        ElseIf objCollection(i).Name = "curStatus" Then
            objCollection(i).Value = "Open"

        ElseIf objCollection(i).Name = "opStatus" Then
            objCollection(i).Value = "All"


        End If
            i = i + 1
    Wend

我不能给予更多,因为这是为了工作。我已经用尽谷歌搜索了 另一件奇怪的事情是,当我单步时它会起作用。否则就行不通。 任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

暂时忽略计时问题,您的代码会更容易:

If ecode <> "" Then ie.document.getElementById("entNo").Value = ecode
ie.document.getElementById("currStatus").Value = "Open"
ie.document.getElementById("opStatus").Value = "All"

由于您的select元素似乎具有id属性。