返回列表 上一主題 發帖

在 windows7 環境抓不到資料??

回復 1# t8899
試試看
  1. Do While .Document.getElementsByTagName("table")(4).outerHTML = "": Loop
  2.         .Document.BODY.innerHTML = .Document.getElementsByTagName("table")(4).outerHTML
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# t8899
再試試看
  1. Option Explicit
  2. Sub ABC123()
  3.     Dim XDate As Date, A As Object
  4.     Application.ScreenUpdating = False
  5.     Sheets("3").Select
  6.     XDate = Date
  7.     With CreateObject("InternetExplorer.Application")
  8.         .Visible = False
  9.         .Navigate "http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/MI_INDEX.php"
  10. 330:
  11.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  12.             .Document.ALL("qdate").Value = Format(XDate, "E/MM/DD")  '日期可修改
  13.             .Document.ALL("selectType").Value = "ALLBUT0999"
  14.             .Document.ALL("query-button").Click
  15.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  16.         If InStr(.Document.BODY.innerText, "查無資料") Then
  17.             XDate = XDate - 1
  18.             GoTo 330
  19.         End If
  20.         Do
  21.             Set A = .Document.getElementsByTagName("table")
  22.         Loop Until A.Length = 6
  23.         .Document.BODY.innerHTML = A(4).outerHTML
  24.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  25.         .ExecWB 17, 2       '  Select All
  26.         .ExecWB 12, 2       '  Copy selection
  27.         With Sheets("3")    '可指定工作表
  28.             .UsedRange.Clear
  29.             .Range("A1:P1000").ClearContents
  30.             .Range("A2").Select
  31.             .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NOHTMLFormatting:=True
  32.         End With
  33.         .Quit        '關閉網頁
  34.     End With
  35. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 5# t8899

程式跑的比IE下載資料速度快,只好等它一下
  1. Application.Wait Time + #12:00:01 AM#  '慢慢地一秒一秒加上直到正常為止
  2.         Do
  3.             Set A = .Document.getElementsByTagName("table")
  4.         Loop Until A.Length = 6
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# t8899

這行不是解決這種問題??  Do While .Busy Or .readyState <> 4: DoEvents

應該是的,但它不行也沒輒ㄚ

EX.JPG (88.3 KB)

EX.JPG

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

TOP

        靜思自在 : 君子為目標,小人為目的。
返回列表 上一主題