【发布时间】:2025-12-16 17:50:02
【问题描述】:
我试图在 Excel 表格中显示特定加密货币的价格。我正在从 CoinMarketCap 的 API 中提取 JSON 数据 - https://api.coinmarketcap.com/v1/ticker/
最终,我试图获取 Ripple 的价格(第 16 行),然后在我的 Excel 工作表中设置单元格 B1 以显示 Ripple 的价格(第 17 行)。
这是我的脚本,但由于某种原因无法正常工作。
Sub test()
Dim httpObject As Object
Set httpObject = CreateObject("MSXML2.XMLHTTP")
sURL = "https://api.coinmarketcap.com/v1/ticker/"
sRequest = sURL
httpObject.Open "GET", sRequest, False
httpObject.Send
sGetResult = httpObject.ResponseText
Dim oJSON As Object
Set oJSON = JsonConverter.ParseJson(sGetResult)
If oJSON.Name = "Ripple" Then
B1 = oJSON("Ripple")("price_usd")
End If
End Sub
API 调用成功(我相信),但出现语法错误等。希望有人能够提供帮助。提前致谢
编辑:这是 Microsoft Excel 2010
编辑 2: 是第 16 行和第 17 行(分别是 If oJSON.Name... 和 B1 = oJSON(... 提出了问题,但到目前为止我一直无法解决它/找到错误。请参阅运行时错误等的 cmets。
编辑 3:我相信我在第 16 行和第 17 行中通过引用 oJSON 而不是项目 (sItem) 犯了一个错误。但是,即使更改此设置(例如If sItem.Name = "Ripple" Then...),它仍然无法正常工作。
编辑 4:我相信我也以错误的方式标记了 excel 单元格。我现在不是简单地写B1 = ...,而是写Range.("B1").Value = ...,它在测试中有效。
【问题讨论】:
-
请详细说明错误?描述是什么?它们出现在哪一行?
-
您能否检查响应或写出以便显示相关的 JSON...?
-
@QHarr “运行时错误 '438':对象不支持此属性或方法。”当我尝试提取值时,发生在第 16 行和/或第 17 行。
-
这就是你说 If oJSON......?
-
要检索
price_usdforrippleid,您应该遍历每个对象,找到具有rippleid 的对象并获取price_usd值。
标签: excel vba api cryptocurrency