[VBA ] 請教抓取網頁資料下拉式選單的問題

作者: rexlnpi (新的挑戰!!)   2017-01-09 16:31:49
我使用Excel VBA抓取網頁資料,但是網頁上有下拉式選單
我要的資料藏在選單中,如果我直接打入網址,會抓到預設的選單
請問我該如何才能指定要抓取的資料呢?
台灣證交所網址:
http://www.twse.com.tw/ch/trading/fund/MI_QFIIS/MI_QFIIS.php
預設的選項:
http://i.imgur.com/ajGSKO1.jpg
要抓的選項:
http://i.imgur.com/MYXqIUv.jpg
我要抓的是「ETF」的資料,但是預設是「水泥工業」
如果按照一般的自動匯入,進來的資料只會是「水泥工業」
請問這樣的問題該如何處理,謝謝~
作者: MashiroX421 (三峰真白)   2017-01-09 22:04:00
使用getElementsByName找到下拉式清單的名稱select2,然後對其從第一個ALL開始當作0,ETF為3用CreateObject("InternetExplorer.Application")將資料匯入範例檔 https://goo.gl/wWYejy
作者: rexlnpi (新的挑戰!!)   2017-01-09 23:36:00
範例檔出現錯誤訊息,http://imgur.com/wwqsgbF.jpg另外請教,getElementsByName("select2")(0)select2是標籤名,那後面的(0)是甚麼意思呢?
作者: MashiroX421 (三峰真白)   2017-01-10 06:35:00
連結檔案內容重新修正,請重下一遍後面的0代表的是這個名稱是第幾次出現,若是第一次出現,則代表是0,當有多個下拉式選單使用同一個名稱時就能用這個來做區別
作者: rexlnpi (新的挑戰!!)   2017-01-10 10:05:00
更新後不會出現錯誤訊號了,但仍有兩個問題1、自動開啟IE後,仍顯示「水泥工業」並沒有跳到「ETF」2、資料並未載入到Excel檔中,僅僅只是開啟IE而已另請教,更新檔多加了一個Do While迴圈的用意是甚麼呢?感謝您的回答~
作者: MashiroX421 (三峰真白)   2017-01-13 23:51:00
連結已重新更改過,請重下一遍試試,內有註解
作者: rexlnpi (新的挑戰!!)   2017-01-18 21:49:00
已經可以使用了,感謝,我研究看看有問題再跟你請教

Links booklink

Contact Us: admin [ a t ] ucptt.com