尝试在 VbsScript 中使用“MSScriptControl”中的“ScriptControl”时出错

问题描述 投票:0回答:1

我尝试运行此代码:

Dim jsonString, jsonDictionary

jsonString = "{ ""name"": ""John"", ""age"": 30, ""city"": ""New York"" }"

Set jsonDictionary = JSONToDictionary(jsonString)

MsgBox(jsonDictionary.Item("name")) ' -> "John"
MsgBox(jsonDictionary.Item("age")) ' -> 30
MsgBox(jsonDictionary.Item("city")) ' -> "New York"

Function JSONToDictionary(jsonString)
    ' Crea un objeto de script
    Set jsonObject = CreateObject("ScriptControl")
    ' Establece la sintaxis JSON como el lenguaje de script
    jsonObject.Language = "JScript"
    ' Utiliza el método eval() del objeto de script para parsear la cadena JSON
    Set jsonDictionary = eval("(" + jsonString + ")")
    ' Devuelve el objeto diccionario
    JSONToDictionary = jsonDictionary
End Function

但是我收到错误:“ActiveX 组件无法创建对象:'ScriptControl'”。 我还收到错误:“系统:启用 BTT 时不支持此操作”。

我已经尝试了一切,但还是不行,你知道如何解决吗?

vbscript scriptcontrol msscriptcontrol
1个回答
0
投票

(转载自上面 LesFerch 的评论)

听起来您正在使用 64 位版本的 WScript 或 CScript 运行脚本,同时尝试使用 32 位 COM 对象。尝试在 32 位模式下运行脚本。即,使用

C:\Windows\SysWOW64\wscript.exe
C:\Windows\SysWOW64\cscript.exe

© www.soinside.com 2019 - 2024. All rights reserved.