У меня есть код, который получает обновленные цены на акции путем анализа JSON.Я в основном сделал следующее: 1 - Скачал последнюю версию VBA JSON.2 - Извлеките его, откройте редактор кода VBA в Excel (Alt + F11) и импортируйте библиотеку.3 - Добавить ссылку на среду выполнения сценариев Microsoft.(Инструменты> ссылки> выбрать)
По какой-то причине я продолжаю получать ошибку ниже:
Err.Raise 10001, «JSONConverter», json_ParseErrorMessage (JsonString, json_Index, «Expecting»{'или' ['”)
Sub getData()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Range
Dim symbol As Variant
Dim n As Integer
Dim lastrow As Long
Dim myrequest As Variant
Dim i As Integer
Set wb = ActiveWorkbook
Set ws = Sheets("Sheet1")
ws.Activate
'Last row find
lastrow = ws.Cells(Rows.Count, "A").End(xlUp).Row
Set rng = ws.Range("A4:A" & lastrow)
'Clear Prior Prices
ws.Range("B4:B" & lastrow).ClearContents
n = 4
'Get Symbols list
For Each symbol In rng
Set myrequest = CreateObject("WinHttp.WinHttpRequest.5.1")
myrequest.Open "Get", "https://api.iextrading.com/1.0/stock/" & symbol &
"/quote"
'myrequest.Open "Get", "https://www.bloomberg.com/markets/api/bulk-time-
series/price/" & symbol & "%3AUS?timeFrame=1_DAY"
myrequest.Send
Debug.Print myrequest.ResponseText
Dim Json As Object
Set Json = JsonConverter.ParseJson(myrequest.ResponseText)
MsgBox (myrequest.ResponseText)
i = Json(1)("latestPrice")
ws.Range(Cells(n, 2), Cells(n, 2)) = i
n = n + 1
Next symbol
ws.Columns("B").AutoFit
MsgBox ("Data is downloaded.")
ws.Range("B4:B" & lastrow).HorizontalAlignment = xlGeneral
ws.Range("B4:B" & lastrow).NumberFormat = "$#,##0.00"
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub