Board logo

標題: [發問] 請問如何加快股價更新? [打印本頁]

作者: zzoo123    時間: 2017-5-28 23:52     標題: 請問如何加快股價更新?

更新股價時 EXCEL會發生(沒有回應)
[attach]27237[/attach]

[attach]27238[/attach]
作者: GBKEE    時間: 2017-5-29 07:56

回復 1# zzoo123
這網址用QueryTable傳資料很慢,改用IE讀取快些
  1. '更新按鈕
  2. Private Sub CommandButton2_Click() '
  3.     Application.enableEvents = False   
  4.     '顯示home工作表
  5.     Sheets("home").Activate
  6.     '執行更新股價程序
  7.     updatePrice
  8.      Application.enableEvents = True
  9. End Sub
複製代碼
  1. Sub getData(stockCode As String)
  2.     Dim Sh As Worksheet, ie
  3.     Dim i As Integer, R As Integer, C As Integer
  4.     Set Sh = ThisWorkbook.Worksheets("temp") '.Cells.Delete
  5.     Sh.UsedRange.Clear
  6.     With CreateObject("InternetExplorer.Application")
  7.         '.Visible = True
  8.         .Navigate "http://tw.stock.yahoo.com/q/q?s=" & stockCode
  9.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  10.         Set E = .Document.all.tags("TABLE")
  11.         For i = 0 To E.Length - 1
  12.             If InStr(E(i).innerText, "加到投資組合") And InStr(E(i).innerText, "成交明細") And E(i).Rows.Length > 1 Then
  13.                 For R = 0 To E(i).Rows.Length - 1
  14.                     For C = 0 To E(i).Rows(R).Cells.Length - 1
  15.                         Sh.Cells(R + 2, C + 1) = E(i).Rows(R).Cells(C).innerText
  16.                     Next
  17.                 Next
  18.             End If
  19.         Next
  20.         .Quit        '關閉網頁
  21.     End With
  22. End Sub
複製代碼

作者: zzoo123    時間: 2017-5-29 20:02

感謝幫忙 果然順多了




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