返回列表 上一主題 發帖

[發問]VBA抓取.PHP頁問題??

回復 10# tsuneng


    我也接近4年級啊!!這是你的說法吧!!

TOP

本帖最後由 lalalada 於 2012-8-3 13:58 編輯

路過...
順手幫你寫了一個
本來那個有點冗 沒有認真看
不知道這是不是你要的?
不過以後還是自己寫會比較好喔:)
使用說明: 1.輸入股票代碼 2.去C槽找同名檔案(.csv)
  1. Sub WrittenByLalalada()
  2. Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
  3. code = Application.InputBox(prompt:= "Written by lalalada", Title:="輸入代碼:")
  4.     With WinHttpReq
  5.     .Open "POST", "http://www.gretai.org.tw/ch/stock/statistics/monthly/download_st42.php", False
  6.     .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  7.     .Send ("stk_no=" & code)
  8.            Set oStream = CreateObject("ADODB.Stream")
  9.            oStream.Open
  10.            oStream.Type = 1
  11.            oStream.Write WinHttpReq.ResponseBody
  12.            oStream.SaveToFile ("C:\" & code & ".csv")
  13.            oStream.Close
  14.     End With
  15. End Sub
複製代碼
剩下的功能就自己改囉!

TOP

可以參考昨天才PO文的 http://forum.twbts.com/thread-7341-1-1.html  裡面有相關的應用

TOP

回復 12# lalalada

謝謝大大的熱心分享,努力學習中!!

TOP

謝謝大大的回答  我對VBA又更了解了

TOP

請問大大,
這段程式裡他是如何知道需要的格子是網頁顯示區裡的第幾的表格??
例如: getelementsbytagname("table")(2) '顯示區第3個表格
小的剛學習VBA,若有發問錯誤請見諒!!!謝謝
Nicole

TOP

請問大大,
這段程式裡他是如何知道需要的格子是網頁顯示區裡的第幾的表格??
例如: getelementsbytagname ...
水元素 發表於 2013-1-17 16:56



要從網頁上的代碼看
.Document.all("rpt_result").getelementsbytagname("table")
VBA上想找的是網頁代碼下 ID 為rpt_result 的數個TABLE:

懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

瞭解了!!!
非常謝謝K大的圖文解說~
連data code 都解說了~真的非常清楚!!
Nicole

TOP

各位高手您好
http://www.gretai.org.tw/ch/stock/statistics/monthly/st44.php
與上述網站相類,但它輸入時有二個參數,目前找到的參數是"yy",想請教一下如果是有stk_no與yy,下面send的程式該如何修改呢? 謝謝
.Send ("stk_no=" & code)

TOP

回復 12# lalalada


感謝您提供的vba code,經測試完全正常又不需要開啟IE網頁,值得觀摩學習!
很抱歉,我是小學生,不能下載檔案,是個小屁孩!

TOP

        靜思自在 : 能善用時間的人,必能掌握自己努力的方向。
返回列表 上一主題