如何从MacOS上的Excel中从HTTP端点检索JSON并parsing它?
我见过如何使用VBA从Excel发送HTTP POST请求到服务器?
以及介绍如何使用QueryTable从HTTP端点检索数据的MacOS友好响应 。 它演示了如何检索单个string并将其填充到单元格中。
都好。 现在我想检索一个以上的值。 这是一个很大的JSONstring,我想在填充一个或多个单元格之前在Excel VBA中进行后续处理。
这怎么可能?
我可以想到一种方法 – 将QueryTables的结果放入一个隐藏的单元格,然后后处理隐藏的单元格以填充其他单元格。 有几个VBA的JSON库,我还没有评估。
但是,这似乎很hacky。 真的,我不想依赖将JSON作为值存储在单元格中。 我想只将它存储到我的VBA代码中的一个variables。 就像我使用CreateObject(“MSXML2.ServerXMLHTTP”)一样。 ( NB:CreateObject()在MacOS上的Excel中不可用 )。
而且我明白这里最好的答案可能是: 如果你想在Excel中运行应用程序,可以获取一台Windows机器。
您可以在VBA中使用Worksheets(0).QueryTable
方法。 只要看看手册或谷歌。 所以你不必把你的jsonstring存储到一个单元格中。
或者我用过类似的东西
Public Function GetWebSource(ByRef URL As String) As String Dim xml As IXMLHTTPRequest On Error Resume Next Set xml = CreateObject("Microsoft.XMLHTTP") With xml .Open "GET", URL, False .send GetWebSource = .responseText End With Set xml = Nothing End Function
下载一个jsonstring。
四处寻找parsing器。 有些人喜欢在Excel VBA中parsingJSON应该满足您的需求。