Board logo

標題: [發問] CreateObject("MSXML2.XMLHTTP.3.0") 無法抓取最新資料? [打印本頁]

作者: PKKO    時間: 2017-2-22 15:37     標題: CreateObject("MSXML2.XMLHTTP.3.0") 無法抓取最新資料?

如下程式碼:為何網站資料更新了
但擷取出來的結果卻不會自動更新呢
十分鐘後再執行一次還是跟第一次執行的結果相同
請問要如何更新?
  1. Sub test()
  2. Set hq = CreateObject("MSXML2.XMLHTTP.3.0")
  3. hq.Open "get", "http://rate.bot.com.tw/xrt/flcsv/0/day", False
  4. hq.send
  5. MsgBox hq.responsetext
  6. End Sub
複製代碼

作者: jackyq    時間: 2017-2-28 22:37

"http://rate.bot.com.tw/xrt/flcsv/0/day"  ........ maybe
作者: GBKEE    時間: 2017-3-1 09:59

回復 1# PKKO
  1. Option Explicit
  2. Sub Ex()
  3. Dim hq As Variant, i As Integer, ii As Integer
  4. Set hq = CreateObject("MSXML2.XMLHTTP.3.0")
  5. hq.Open "get", "http://rate.bot.com.tw/xrt/flcsv/0/day", False
  6. hq.send
  7. '**Split 函數 傳回一個陳列索引從零開始的一維陣列,它包含指定數目的子字串。
  8. '**語法  Split(expression[, delimiter[, limit[, compare]]])
  9. hq = Split(hq.responsetext, vbCrLf)
  10. '**vbCrLf -> Chr(13) + Chr(10) = 結合換行字元與復位字元。
  11. ActiveSheet.Cells.Clear '**作用中工作頁的所有儲存格,清除文字及其格式
  12. '***讀取資料
  13. For i = 0 To UBound(hq)
  14.     For ii = 0 To UBound(Split(hq(i), ","))
  15.     ActiveSheet.Range("a1").Offset(i, ii) = Split(hq(i), ",")(ii)
  16.     Next
  17. Next
  18. '**讀取資料完畢
  19. MsgBox Join(hq, vbCrLf)
  20. End Sub
複製代碼

作者: PKKO    時間: 2017-3-1 13:55

回復 3# GBKEE


    感謝超版大大,小弟拜讀一下
作者: jackyq    時間: 2017-3-2 12:03

回復 3# GBKEE


   好像 還是沒變押
作者: jackyq    時間: 2017-3-2 13:59

換各寫法  
可 refresh 了
作者: GBKEE    時間: 2017-3-3 08:39

本帖最後由 GBKEE 於 2017-3-3 10:57 編輯

回復 5# jackyq

匯率沒有時時在變更
附檔可觀察看看

[attach]26748[/attach]
作者: PKKO    時間: 2017-3-3 12:35

回復 6# jackyq


    如何換個寫法可變更?
因為我用原本的方法套用不同的網站資料
確實不會更新,電腦重開才會更新不知道為何
作者: PKKO    時間: 2017-3-3 12:40

回復 7# GBKEE


    感謝超版大大,原來自動更新可以這樣使用
我一直都是只會用下列方式自動多久執行一次
  1. ts2 = Now + TimeValue("00:05:00")
  2. '執行完畢後設定5分鐘過後再次執行本程式
  3. Application.OnTime ts2, "control_time2"
複製代碼
您的方式簡單多了
配合SHEET變動一起搭配程式碼即可
作者: PKKO    時間: 2017-5-8 20:13

回復 6# jackyq


請問大大您是如何換個寫法就可以更新了呢?
我測試還是無法更新耶
必須要檔案重新打開才會更新~




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