免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Excel使用VBA讀取實時WebService股票數(shù)據(jù)

環(huán)境:Win7 Excel2016


采用的是騰訊提供的股票接口,例如:http://qt.gtimg.cn/q=sh600016,返回輸入如下:

v_sh600016='1~民生銀行~600016~8.58~8.68~8.67~886218~499700~386518~8.58~772~8.57~6361~8.56~8593~8.55~12720~8.54~6803~8.59~4279~8.60~9390~8.61~2093~8.62~3318~8.63~3836~15:00:04/8.58/1/S/858/27675|15:00:01/8.58/817/B/701197/27670|14:59:58/8.58/306/B/262275/27663|14:59:55/8.58/261/B/223686/27659|14:59:52/8.57/37/S/31709/27655|14:59:49/8.58/134/B/114869/27649~20170803150552~-0.10~-1.15~8.74~8.56~8.58/885400/764678837~886218~76538~0.30~6.48~~8.74~8.56~2.07~2535.54~3130.45~0.90~9.55~7.81~0.84';

提取其中的名稱(民生銀行),收盤價格,昨日價格,漲跌百分比即可。


(1)打開Excel2016,保證第一列輸入股票代碼(第一行除外),2、3、4、5列留著待用,其余列根據(jù)需求自行添加,如下圖:


(2)按ALT F11,在Sheet1的VBA通用代碼中加入如下代碼:

  1. Function FillOneRow(url As String, r As Integer) As Integer
  2. With CreateObject('msxml2.xmlhttp')
  3. .Open 'GET', url, False
  4. .send
  5. sp = Split(.responsetext, '~')
  6. If UBound(sp) > 3 Then
  7. FillOneRow = 1
  8. Cells(r, 2).Value = sp(1) '名稱
  9. Cells(r, 3).Value = sp(3) '當前價格
  10. Cells(r, 4).Value = sp(4) '昨日收盤價
  11. Dim zhangDie As Double
  12. zhangDie = sp(32)
  13. Cells(r, 5).Value = zhangDie
  14. If zhangDie > 0 Then
  15. '上漲使用紅色
  16. Cells(r, 5).Font.Color = vbRed
  17. Cells(r, 3).Font.Color = vbRed
  18. Else
  19. '下跌使用綠色
  20. Cells(r, 5).Font.Color = &H228B22
  21. Cells(r, 3).Font.Color = &H228B22
  22. End If
  23. Else
  24. FillOneRow = 0
  25. End If
  26. End With
  27. End Function
  28. Sub GetData()
  29. Dim succeeded As Integer
  30. Dim url As String
  31. Dim row As Integer
  32. Dim code As String
  33. For row = 2 To Range('A1').CurrentRegion.Rows.Count '從第二行開始
  34. code = Cells(row, 1).Value
  35. If code <> '' Then
  36. url = 'http://qt.gtimg.cn/q=sh' & code '滬市
  37. succeeded = FillOneRow(url, row)
  38. If succeeded = 0 Then
  39. url = 'http://qt.gtimg.cn/q=sz' & code '深市
  40. succeeded = FillOneRow(url, row)
  41. End If
  42. If succeeded = 0 Then
  43. MsgBox ('獲取失敗')
  44. End If
  45. End If
  46. Next
  47. End Sub

(3)選擇ThisWorkbook選項,添加Workbook的Open函數(shù),這樣在excel打開的時候就會自動執(zhí)行GetData

  1. Private Sub Workbook_Open()
  2. Call Sheet1.GetData
  3. End Sub


(4)關閉VBA,在Excel菜單->視圖->宏->查看宏,彈出宏對話框:



點擊執(zhí)行,就能看到數(shù)據(jù)被填充了:


(5)點擊選項,可以設置快捷命令,例如Ctrl R。

(6)Excel保存為可以運行宏的文件,如stock.xlsm


本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Excel VBA中關于 if or 的使用
Excel VBA中的cells單元格的用法
我認識的EXCEL、宏、VBA
批量刪除每一列的重復值 | VBA實例教程
搜狐基金數(shù)據(jù)下載成Excel版 | VBA實例教程
一小段Excel VBA代碼022:限制指定工作簿的打開次數(shù)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服