乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

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

       TTTB018 2018-09-15

      環(huán)境:Win7 Excel2016


      采用的是騰訊提供的股票接口,例如:http://qt./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) '當(dāng)前價格
      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./q=sh' & code '滬市
      37. succeeded = FillOneRow(url, row)
      38. If succeeded = 0 Then
      39. url = 'http://qt./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)關(guān)閉VBA,在Excel菜單->視圖->宏->查看宏,彈出宏對話框:



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


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

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


        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多