加载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的值。
任何人都可以得到一个工作你好这个场景工作的世界场景?
- 点击命令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