[英]Loading VBA JSON variable then referencing it in Cells using Excel Formulas
我的excel文档中有一个事件按钮,该事件按钮使用此链接中的一种技术加载JSON文档: 是否有VB6 / VBA的JSON解析器?
这将基于以下JSON字符串在vb脚本中创建一个JSON变量供我使用:
{
"a": 1,
"b": [
13,
1.4142135623730951,
15
]
}
我可以轻松地使用VBA脚本加载页面。 但...
如何在单元格的公式内使用Json? 是否存在这样做的东西? $VARIABLE_LOOKUP(Json)("a")
在单元格中获得值1
。
任何人都可以在这种情况下正常工作的世界场景吗?
A5
的公式的计算结果应为1
。 能做到吗
此excel文档中的代码示例位于此处: https : //drive.google.com/file/d/0B540RQ1Nj-KINnVQS3cwMDFsc1E/view?usp=sharing
答案:您可以使用在自己的模块中定义的自定义函数来执行此操作。
创建一个模块,为json添加全局变量和一个设置它的方法(您的按钮将被点击):
Private jsObj As Object
Public Function SetJsObj(jsonString As String)
jsObj = JSON.parse(jsonString)
End Function
Public Function GetJsObj()
GetJsObj = jsObj
End Function
使用json解析器VB6 / VBA是否有JSON解析器?
然后在单元格中使用该函数:
=GetJsObj()("a")
现在将评估为
1
一种解决方案是创建一个UDF以评估任何表达式:
Public Function Eval(expression As String)
Application.Volatile
Eval = Application.Evaluate(expression)
End Function
然后在您的公式中:
=Eval("JSON.parse(Json)(""a"")")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.