我正在嘗試設置下拉框的值,並顯示一個甚至不是選項的空白。VBA無法通過選擇下拉菜單獲得選項
下面是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
我不能給更多的,因爲這是工作。我已經耗盡谷歌搜索。
另一件奇怪的事情是,當我單步執行時它會起作用。否則就無法工作。 任何建議將不勝感激。
我無法獲得當前選定的值。 – user3490906
如果這些select元素在某種程度上是依賴的(改變其中一個會改變下一個可用的選項),那麼你需要等待下一個填充,這就是爲什麼它在單步執行時工作,但不是如果你直接運行整個事情。 –