因為盤中有立即知道股價的需求
所以抓yahoo的
這是我目前的程式碼
為什麼只是抓一個yahoo的股價
速度要花30幾秒...求解
Private Sub CommandButton1_Click()
Rows("6:1052").Select
Selection.Delete Shift:=xlUp
Dim tm
tm = Timer
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;https://tw.stock.yahoo.com/q/q?s=2317", Destination:=Range("$A$8"))
.Name = "q?s=2317"
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingAll
.WebTables = "7"
.Refresh BackgroundQuery:=False
End With
MsgBox "讀取完成,費時:" & Timer - tm & "秒"
End Sub
bioleon69 wrote:
為什麼只是抓一個yahoo的股價
速度要花30幾秒...求解...(恕刪)
請參考我以前寫的,抓3/21那個版本
http://www.mobile01.com/topicdetail.php?f=511&t=4737630&p=1
(3/27那個不要用,那只是想試看看script方法,亂寫的,問題超~級~多~

剛剛重測速度(2017/01/03 21:00),100筆約15秒,一筆,大約0.03~0.25秒
以前在盤中測100筆,速度也是大約15秒…
現在不確定…收盤了,沒辦法測
至於以下這一篇,是以前回答如何讓程式每10秒跑一次,您也可以參考看看
http://www.mobile01.com/topicdetail.php?f=511&t=4716767&p=1
p.s 我用您的程式碼(2017/1/3 21:00)測…1筆,約0.8~1.5秒,還算正常,沒有30秒那麼誇張
也許是盤中yahoo針對ip限速=>不過不太可能,又不是抓上萬筆
說不定是您電腦、網路有問題,或改到什麼設定了………
您以前熱心分享給大家的存股損益表,不就很好用了嗎??
(雖然我沒加入

bioleon69 wrote:
怪怪的!請問一下你的作業系統以及EXCEL版本?
(已下載3/21的研究)...(恕刪)
windows7 + excel 2007
3/21 那個如果要用鉅亨測試,請重新下載(yahoo的沒問題)
有幾個測試用的股票代碼打錯,股票不存在,程式會出錯
重新上傳好了,不過只有刪掉錯誤的股票代碼
鉅亨的只是無聊順便寫的,懶得改程式碼了

bioleon69 wrote:
我確實是30多秒,不誇張!!...(恕刪)
剛剛用您的程式碼再重測一次,變11秒一筆,昨天同樣環境下才0.8~1.5秒

多測幾次之後又恢復到0.8~1.5秒
程式碼沒錯,我想應該是 QueryTables 這種查詢方式本身的問題
google 找到的範例也幾乎都是 QueryTables 這種方式
我想大概是因為比較容易照抄、改寫

以前我只有簡單測一下,速度不理想就棄用了
詳細原因不明,沒深入研究
所以才生出使用 msxml2.xmlhttp 這個幾乎沒人用的方式來抓資料
我自認為這種方式比較快,而自己的即時損益表也有用到
反正只是小品程式,就順便寫個範例出來分享

內文搜尋

X