加载VBA JSONvariables,然后使用Excel公式在单元格中引用它

我有一个事件button在我的Excel文档,加载一个JSON文档使用这个链接的技术: 是否有一个JSONparsing器VB6 / VBA?

这会在vb脚本中创build一个基于这个JSONstring的JSONvariables:

{ "a": 1, "b": [ 13, 1.4142135623730951, 15 ] } 

我可以很容易地使用VBA脚本来加载页面。 但…

如何在单元格内使用Json? 有什么东西存在吗? $VARIABLE_LOOKUP(Json)("a")在单元格中得到1的值。

任何人都可以得到一个工作你好这个场景工作的世界场景?

Excel文档的屏幕截图清晰

  • 点击命令button
  • 它加载Json
  • A5的公式现在应该评估为1

可以这样做吗?

代码的一个例子是在这个excel文件里面: https : //drive.google.com/file/d/0B540RQ1Nj-KINnVQS3cwMDFsc1E/view?usp=sharing

解决办法是创build一个UDF来评估任何expression式:

 Public Function Eval(expression As String) Application.Volatile Eval = Application.Evaluate(expression) End Function 

然后在你的公式中:

 =Eval("JSON.parse(Json)(""a"")") 

答案是:您可以使用自定义模块中定义的自定义函数来执行此操作。

创build一个模块,为json添加全局variables和一个方法来设置它(你的button将会被击中):

 Private jsObj As Object Public Function SetJsObj(jsonString As String) jsObj = JSON.parse(jsonString) End Function Public Function GetJsObj() GetJsObj = jsObj End Function 

使用jsonparsing器是否有用于VB6 / VBA的JSONparsing器?

然后你使用单元格中的函数:

=GetJsObj()("a")

现在将评估

1