var VB = {
func: function (func){
if (this[func]) {
return this[func];
} else {
PutResult = function(X) {EvalResult=X;}
GetArgs = function(i) {return _fArgs[i];}
return (this[func] = new Function(
'_fArgs=arguments;'+
'var cnt = _fArgs.length, args=new Array(cnt);'+
'for (var i=cnt; --i>=0;) args[i]="GetArgs("+ i +")";'+
'VbsEval("' +func+ '("+args+")");'+
'var retVal=EvalResult;'+
'_fArgs=null; EvalResult=null;'+
'return retVal;'));
}
}
}
//-> методов нет, буим создавать
var reverse = VB.func("StrReverse");
var x=VB.func("InputBox")("сюда не целое x", "вызвать VB InputBox из JScript");
VB.func("MsgBox")("x = "+x+'\n'+reverse(x)+'\n'+VB.func("Int")(x), 0,"VBS" );
//-> методы есть, можно к ним обращаться
var y=VB.InputBox("сюда не целое y", "вызвать VB InputBox из JScript");
VB.MsgBox("y = "+y+'\n'+VB.StrReverse(y)+'\n'+VB.Int(y), 0,"VBS" );