返回列表 上一主題 發帖

[發問] 請教 如何在EXCELL取得該網站之"即時估計淨值"

回復 20# Farnsworth

我點按鈕ˇ並沒錯誤訊息 ˊ只是啟用了Internet Explorer幫我連到該頁面 與我測試連結至YAHOO有完全不同的情形(結果) YAHOO 可抓到資料 當然那是我測試抓的DATA(並非我要的DATA)
您可否貼上修正後完整的內容 因為我沒能力自行組合 但您寫的若真的可用 那我可如法泡製 非常的感謝您的熱情幫助 在此謝謝您了 還有希望不要被人當成灌水
    ˊˊˊˊˊˊˊˊˊˊˊˊˊˊˊˊˊˊˊˊˊ

TOP

試看看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Object
  4.     With CreateObject("InternetExplorer.Application")
  5.         .Visible = True
  6.         .Navigate "http://www.yuantaetfs.com/#/RtNav/Index"
  7.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  8.         Application.SendKeys "~", True   '按下同意鍵
  9.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  10.         Application.Wait Now + #12:00:02 AM#   '修改的地方#######
  11.         Set E = .Document.getElementsByTagName("TABLE")(21)
  12.          .Document.body.innerHTML = E.outerHTML
  13.         .ExecWB 17, 2       '  Select All
  14.         .ExecWB 12, 2       '  Copy selection
  15.         With ActiveSheet
  16.             .Cells.Clear
  17.             .[A1].Select
  18.             .PasteSpecial 'Format:="HTML"
  19.         End With
  20.         .Quit        '關閉網頁
  21.     End With
複製代碼

TOP

本帖最後由 lcctno 於 2015-7-19 17:28 編輯

回復 22# no3-taco

結果一樣 自動開 IE 到那網站




錯誤訊息1


錯誤訊息2 (偵錯結果)

TOP

我不太會用回復,再試看看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Object, myItems As Object, myitem
  4.     With CreateObject("InternetExplorer.Application")
  5.         .Visible = True
  6.         .Navigate "http://www.yuantaetfs.com/#/RtNav/Index"
  7.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  8.         'Application.Wait Now + #12:00:01 AM#   '有錯在開啟
  9.         Set myItems = .Document.getElementsByTagName("button")
  10.         For Each myitem In myItems
  11.             If myitem.Name = "Agree" Then
  12.                 myitem.Click                              '按下送出查詢按鈕
  13.             End If
  14.         Next
  15.         Application.Wait Now + #12:00:01 AM#
  16.         Set E = .Document.getElementsByTagName("TABLE")(21)
  17.          .Document.body.innerHTML = E.outerHTML
  18.         .ExecWB 17, 2       '  Select All
  19.         .ExecWB 12, 2       '  Copy selection
  20.         With ActiveSheet
  21.             .Cells.Clear
  22.             .[A1].Select
  23.             .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
  24.         End With
  25.         .Quit        '關閉網頁
  26.     End With
  27. End Sub
複製代碼

TOP

回復 25# no3-taco


哇 真的成功了 非常非常的感謝您的努力(幫助)  我得好好研究您提供的內容了



可用之測試檔
即時估計淨值.zip (9.49 KB)

TOP

回復 26# lcctno

.Visible = True 改成下面
.Visible = False    '可以隱藏ie

如果偶爾抓不到,多按幾下,或者把時間增加到兩秒
Application.Wait Now + #12:00:02 AM#   '經常沒抓到改2秒

TOP

回復 27# no3-taco

Application.Wait Now + #12:00:02 AM#   '經常沒抓到改2秒

網頁頻寬下載速度跟不上程式執行的速度所致
可修改如下
  1.   'Application.Wait Now + #12:00:01 AM#
  2.         Do
  3.             Set E = .Document.getElementsByTagName("TABLE")(21)
  4.         Loop Until Not E Is Nothing And E.ALL.Length = 431
  5.         
  6.          .Document.body.innerHTML = E.outerHTML
複製代碼
如圖示 程式會停在中斷點


感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 28# GBKEE

之前有一篇帖子也是卡在這裡,今天終於看到更好的解決辦法了。:lol

TOP

[版主管理留言]
  • GBKEE(2015/7/23 10:23): 請po上程式碼

回復 25# no3-taco

請問如果想每1分鐘,或每十分鐘自動更新一次,該如何改

TOP

回復 1# yan2463

yan2463 請問您的問題解決了嗎?
yan2463 說:
回復 lcctno 我的問題尚未解決

回復 yan2463
請看 26樓
  http://forum.twbts.com/redirect. ... 5&fromuid=21526

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題