从jscript(或vbscript)如何动态调用COM对象的方法?

时间:2011-06-30 00:34:50

标签: reflection com vbscript wsh jscript

JScript允许像.apply()这样的时髦功能,你可以通过名称调用方法,传递一个参数数组来调用方法。但是这适用于JScript(javascript)对象,显然不适用于COM组件 - 但这是我正在寻找的功能。

有没有办法按名称和JScript中的动态args调用COM对象方法?我找不到任何东西。

谢谢!

2 个答案:

答案 0 :(得分:1)

动态构建要作为字符串调用的脚本,然后使用eval()调用它。例如eval("someObj.method()")eval(objName + "." + methodName + "(" + args.join(",") +")")

答案 1 :(得分:0)

由于我正在使用WSC(Windows脚本组件),我已经做了一个解决方法,我使用XSL生成包装器脚本,转换输入WSC(这是一个XML文件)。 XSL生成一个switch {}语句,每个方法都有一个case,为每个方法提供正确数量的args。

不完全是我追求的,但我得到了更好的错误检查:)