彰化一整天的論壇

 找回密碼
 立即註冊
查看: 291|回復: 11

excel使用web匯入時網頁有下拉式選單需選取設定問題

[複製鏈接]
發表於 2020-5-14 22:27:57 | 顯示全部樓層 |閱讀模式
本帖最後由 imingho 於 2020-5-14 22:38 編輯

老師你好
我從老師提供下載的範例(開啟IE設定下拉選項後至結果到excel)教學檔,更改成自己所要的網頁時,發生了一些問題,不知道是哪邊設定上出現了問題,想請老師幫我看看,哪邊出錯了,感謝老師。

以下式程式碼:
--------------------------------------------------------------------------------------------------------------------------
  1. Sub SetValueToComboBox()
  2.   Dim ie  As Object
  3.   'Dim oHTML_Element As IHTMLElement

  4.   Set ie = CreateObject("InternetExplorer.Application")
  5.   ie.Visible = True
  6.   ie.navigate "https://info512.taifex.com.tw/Future/FusaQuote_Norl.aspx"
  7.   While ie.Busy Or ie.readyState <> 4: DoEvents: Wend

  8.    '設定第一個下拉選單

  9.   Set oHTML_Element =ie.document.getElementsByName("ctl00$ContentPlaceHolder1$ddlFusa_SelMon")(0)
  10.    If Not oHTML_Element Is Nothing Then oHTML_Element.Value = "現貨"

  11.    '呼叫onchange
  12.   oHTML_Element.fireevent "onchange"   '執行 onchange事件

  13.   Set oHTML_Element =ie.document.getElementsByName("ctl00$ContentPlaceHolder1$ddlDgPagesize")(0)
  14.    If Not oHTML_Element Is Nothing Then oHTML_Element.Value = "全部"

  15.   oHTML_Element.fireevent "onchange"   '執行 onchange事件

  16.   ie.ExecWB 17, 2     'Select All
  17.   ie.ExecWB 12, 2     'Copyselection

  18.   Cells(1, 1).Select

  19.   Excel.ActiveSheet.PasteSpecial Format:="HTML", Link:=False,DisplayAsIcon:= _
  20.                                     False,NoHTMLFormatting:=True


  21.     '將ie關閉
  22.    ie.Quit
  23. '  For Each oHTML_Element Inie.document.getElementsByTagName("input")
  24. '     If oHTML_Element.Type = "submit" Then oHTML_Element.Click:Exit For
  25. '  Next
  26. End Sub
複製代碼



--------------------------------------------------------------------------------------------

原本往網頁網址期交所的網站
------------------------------------------------------------------------------------------
主要是要從期交所的網頁上下載即時股票價格
網頁打開後有3個下拉式選單
1.第一個是商品名稱:選擇全部
2.到期月份:選擇現貨
3.每頁顯示筆數:選擇全部
這時候若直接點選網頁上匯出excel報表,跳出的excel檔裡面總共會有約200支股票現貨的資訊,沒有任何期貨的資料。
--------------------------------------------------------------------------------------------------------------------
但是我現在的程式執行後只有出現網頁一打開的畫面,裡面有南亞現貨、南亞期貨050、南亞期貨060、南亞期貨090、南亞期貨120、南亞期貨031、中鋼現貨、中鋼期貨050、中鋼期貨060、中鋼期貨090而已,就沒有了,跟我所想要的同時匯入全部股票現貨(200)的資料有一大段差異。

-----------------------------------------------------------------------------------------------------
在這邊想跟老師請問一下,我哪個環節出錯了,非常感謝老師。

回復

使用道具 舉報

 樓主| 發表於 2020-5-14 22:39:09 | 顯示全部樓層
此附件為本程式,謝謝老師。

自動下載試搓 (2).xlsm

22.73 KB, 下載次數: 3

回復 支持 反對

使用道具 舉報

發表於 2020-5-14 22:51:28 | 顯示全部樓層
hello10282000 發表於 2020-5-14 22:39
此附件為本程式,謝謝老師。

get_stock_01.jpg

您的現貨是給前面的value
  1.    Set oHTML_Element = ie.document.getElementsByName("ctl00$ContentPlaceHolder1$ddlFusa_SelMon")(0)
  2. If Not oHTML_Element Is Nothing Then oHTML_Element.Value = "202000"
複製代碼

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2020-5-15 08:11:00 | 顯示全部樓層
老師好
我試了一下更改了我的程式碼
  1.    Set oHTML_Element = ie.document.getElementsByName("ctl00$ContentPlaceHolder1$ddlFusa_SelMon")(0)
  2.    If Not oHTML_Element Is Nothing Then oHTML_Element.Value = "202000" '現貨

  3.    '呼叫onchange
  4.    oHTML_Element.fireevent "onchange"   '執行 onchange事件

  5.    Set oHTML_Element = ie.document.getElementsByName("ctl00$ContentPlaceHolder1$ddlDgPagesize")(0)
  6.    If Not oHTML_Element Is Nothing Then oHTML_Element.Value = "5000"  '全部
複製代碼
然後重新執行程式如下圖
--------------------------------------------------------------------------
我第二個下拉是選單已改為5000=全部了個,但是他excel抓到的資料卻沒有全部(大約200筆資料)覺得疑惑,煩請老師撥空回答,感謝老師。
123.jpg
回復 支持 反對

使用道具 舉報

發表於 2020-5-15 09:25:25 | 顯示全部樓層
hello10282000 發表於 2020-5-15 08:11
老師好
我試了一下更改了我的程式碼然後重新執行程式如下圖
-------------------------------------------- ...

您的5000=全部是從網頁那裡找到的.
stock_20200515_01.jpg

我看到全部是'',還有您的名稱也跟紅色的不同.

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2020-5-15 11:21:40 | 顯示全部樓層
老師你好
我知道為什麼跟老師的不一樣了,我打開的頁面是股價類契約報價如下圖1



我主要是要匯入股價類契約報價內的全部資料,奇怪的是我沒辦法直接匯入200筆資料。都只出現10來筆資料如下圖2,不知錯在哪邊?

圖2

圖2

圖1

圖1
回復 支持 反對

使用道具 舉報

發表於 2020-5-15 22:33:15 | 顯示全部樓層
hello10282000 發表於 2020-5-15 11:21
老師你好
我知道為什麼跟老師的不一樣了,我打開的頁面是股價類契約報價如下圖1

您上傳您改過的excel檔,我這邊執行看看。
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2020-5-15 22:45:28 | 顯示全部樓層
謝謝老師
麻煩老師了

自動下載試搓 (2).xlsm

22.81 KB, 下載次數: 1

回復 支持 反對

使用道具 舉報

發表於 2020-5-16 09:59:42 | 顯示全部樓層
hello10282000 發表於 2020-5-15 22:45
謝謝老師
麻煩老師了

excel_web_20200516_01.jpg

請確認檔案.這個好像是最早前還是中文的value

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2020-5-16 12:45:22 來自手機 | 顯示全部樓層
老師,抱歉,人不在家,我明晚回家時立馬處理,非常感謝老師。
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  

GMT+8, 2020-5-31 05:29 , Processed in 0.139782 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表