Board logo

標題: [發問] 網頁點選指定欄位 [打印本頁]

作者: gn699990    時間: 2014-1-12 11:24     標題: 網頁點選指定欄位

本帖最後由 gn699990 於 2014-1-12 11:25 編輯

各位高手
請問一下
小弟有在使用VBA自動抓網頁資料

但目前遇到一個問題
如何撰寫VBA
開啟此網頁後
http://www.gretai.org.tw/ch/stock/statistics/monthly/st42.php
可以讓滑鼠點選圖上之圈選欄位
[attach]17240[/attach]
輸入代碼後
並自動按下ENTER鈕
試好久都弄不出來

以前這網頁是有"查詢"鈕
但是現在把該鈕移除了
目前程式可以把代號輸入到該欄位
卻不知如何在輸入後        自動按下ENTER
麻煩高手解惑一下
作者: GBKEE    時間: 2014-1-12 17:55

回復 1# gn699990

本討論區搜尋 //www.gretai.org.tw/ch/stock/statistics/monthly/st42.php
作者: gn699990    時間: 2014-1-12 18:09

回復 2# GBKEE
感謝G大回文
您是指這篇嗎http://forum.twbts.com/thread-11046-1-1.html
但我並非要用IQY的方式做匯入

而是要使用VBA去控制網頁指令
在該欄位輸入代號後   按下ENTER鍵

目前個人功力只有辦法讓VBA在該欄位輸入代號        但ENTER搞不出來
作者: gn699990    時間: 2014-1-12 18:17

我處理的方式比較像這篇
http://forum.twbts.com/viewthread.php?tid=5956

[attach]17242[/attach]

只是目前網頁把"查詢"鍵拿掉
改成需要"點選"後   按下ENTER
紅字部分這步驟          目前無法克服
作者: stillfish00    時間: 2014-1-13 09:33

回復 4# gn699990
利用form的submit提交
  1. Sub Test()
  2.   Dim oIE As Object, oNode As Object
  3.   
  4.   Set oIE = CreateObject("InternetExplorer.Application")
  5.   With oIE
  6.     .Visible = True
  7.     .navigate "http://www.gretai.org.tw/ch/stock/statistics/monthly/st42.php"
  8.     Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  9.     Set oNode = .document.getelementbyid("input_stock_code")
  10.     oNode.Value = 1256
  11.     oNode.ParentNode.submit
  12.     Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  13.    
  14.     Stop
  15.    
  16.     .Quit
  17.   End With
  18. End Sub
複製代碼

作者: gn699990    時間: 2014-1-13 17:43

回復 5# stillfish00


感謝S大
總算搞定
困擾了好久
實在太多謝了
作者: smart3135    時間: 2014-4-22 10:36

本帖最後由 smart3135 於 2014-4-22 10:37 編輯

回復 5# stillfish00
S大,我照您的程式碼執行,結果是將1256的年成交資訊以IE開啟,可以直接看到1256的年成交資訊,但不知道有沒有方法能直接將年成交資訊的內容直接匯入到工作表中呢?是要以VBA的方式來匯入,而不是IQY,另外不知道月成交資訊有沒有辦法依樣畫葫蘆,懇請指點!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)