我想寫一個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等)選擇是不切實際的。因此,我正在尋找一種方法,通過在VBA中發送條目的文本名稱(例如「new2」)來從下拉列表中選擇一個條目(例如「new2」)。
有沒有人有如何做到這一點的方法?
您能夠讀取(在VBA中)這兩個選項的文本和值嗎?如果是這樣,如果沒有其他工作,您可以將它們存儲在數組或腳本字典中以進行查找。 – 2013-05-02 20:01:33
你是說遍歷整個下拉列表並提取所有值?我不熟悉如何將文本和數值從下拉菜單拖回到Excel中,但這可能是一種可行的方法。 – user2344525 2013-05-02 20:29:43
我不確定是否可以完成 - 我不會做很多Excel/IE自動化,但是如果沒有明確的方法來按名稱獲取選項(例如,與GetElementByName相同,那麼我會盡力找到一種方法來迭代這些選項,只是一個建議,本身並不是一個「答案」,但我認爲我會給你一些東西來嘗試至少:) – 2013-05-02 20:36:11