标签: scriptcontrol

Excel VBA:解析的JSON对象循环

下面的示例...从解析的JSON字符串循环对象返回错误"对象不支持此属性或方法".任何人都可以建议如何使这项工作?非常感谢(我在这里问了6个小时寻找答案).

用于将JSON字符串解析为对象的函数(这可以正常工作).

Function jsonDecode(jsonString As Variant)
    Set sc = CreateObject("ScriptControl"): sc.Language = "JScript" 
    Set jsonDecode = sc.Eval("(" + jsonString + ")")
End Function
Run Code Online (Sandbox Code Playgroud)

循环解析对象将返回错误"对象不支持此属性或方法".

Sub TestJsonParsing()
    Dim arr As Object 'Parse the json array into here
    Dim jsonString As String

    'This works fine
    jsonString = "{'key1':'value1','key2':'value2'}"
    Set arr = jsonDecode(jsonString)
    MsgBox arr.key1 'Works (as long as I know the key name)

    'But this loop doesn't work - what am I doing wrong?
    For Each keyName In arr.keys 'Excel errors out …
Run Code Online (Sandbox Code Playgroud)

excel vba json scriptcontrol

21
推荐指数
2
解决办法
5万
查看次数

JScriptTypeInfo定义

我在VBScript中有以下代码:

 Dim control
 set control = CreateObject("MSScriptControl.ScriptControl")
 control.language = "jscript"
 control.addCode("function test() { return {property: 'test'}; };")
 Dim result
 set result = control.Eval("test();")
Run Code Online (Sandbox Code Playgroud)

我知道返回的对象result属于该类型JScriptTypeInfo但我无法找到有关此类型定义的任何信息,并且在Visual Studio C#中执行类似的代码仅{System.__ComObject}在本地窗格中显示此内容.

有谁知道该JScriptTypeInfo类型的接口是什么?

javascript vbscript scriptcontrol

7
推荐指数
1
解决办法
4357
查看次数

使ScriptControl与Excel 2010 x64一起使用

我尝试使用给予解决这个,但是,每当我尝试运行最基础的东西,我得到一个Object not Defined错误.我认为这将是我的错(没有安装ScriptControl).但是,我尝试按此处所述进行安装,但无济于事.

我正在使用Office 2010 64位运行Windows 7 Professional x64.

com vba excel-vba scriptcontrol excel-2010

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

scriptcontrol ×3

vba ×2

com ×1

excel ×1

excel-2010 ×1

excel-vba ×1

javascript ×1

json ×1

vbscript ×1