VBA中解析API JSON响应所需JSON库的安装位置咨询
问题
目标是定期查询URL以显示指定货币的汇率值,执行代码行Set json = JsonConverter.ParseJson(http.ResponseText)时出现Error 424错误,完整VBA代码如下:
Private Sub GetCurrencyValues() Dim http As Object Dim json As Object Dim rate As Double Dim curr As String Set http = CreateObject("MSXML2.XMLHTTP") curr = "USD" ' US Dollar http.Open "GET", "https://api.exchangerate-api.com/v4/latest/" & curr, False http.Send Set json = JsonConverter.ParseJson(http.ResponseText) rate = json("rates")("JPY") ' Japanese Yen Range("A1").Value = rate rate = json("rates")("GBP") ' British Pound Range("B1").Value = rate rate = json("rates")("NOK") ' Norwegian Kroner Range("C1").Value = rate rate = json("rates")("MXN") ' Mexican Peso Range("D1").Value = rate rate = json("rates")("EUR") ' Euro Range("E1").Value = rate rate = json("rates")("PLN") ' Polish Zloty Range("F1").Value = rate End Sub Private Sub StartTimer() Application.OnTime Now + TimeValue("00:15:00"), "GetCurrencyValues" End Sub
请问需要在哪里安装JSON库,才能解析API返回的JSON响应?
解决方法
Error 424的原因是VBA环境未识别JsonConverter对象,你需要导入VBA-JSON解析模块(无需额外安装程序,直接导入模块即可),操作步骤如下:
- 打开Excel,按下
Alt + F11打开VBA编辑器 - 点击菜单栏的「插入」→「模块」,新建一个空白模块
- 将VBA-JSON的核心代码(对应
JsonConverter.bas文件内容)复制粘贴到这个新建模块中 - 保存Excel文件时,选择
.xlsm或.xlsb格式(支持宏的格式)
额外注意:需要启用必要的引用:
- 在VBA编辑器中,点击菜单栏的「工具」→「引用」
- 在弹出的引用窗口里,找到并勾选Microsoft Scripting Runtime,点击「确定」
完成以上操作后,你的代码就能正常调用JsonConverter.ParseJson解析API返回的JSON数据了。
内容的提问来源于stack exchange,提问作者Dean
相关产品推荐
相关产品推荐

