Тема: JScript: Вызов встроенных функций VBScript
Для вызова встроенных функций VBScript, которых нет в JScript, можно воспользоваться следующим компонентом, VbsFunction.wsc:
<?xml version='1.0' encoding='windows-1251' standalone='yes'?>
<component id='VbsFunction'>
<registration progid='VbsFunction'/>
<public><method name='vbs' dispid='0'/></public>
<script language='VBScript'><![CDATA[
Sub VbsEval(expression): PutVbsEvalResult(Eval(expression)): End Sub
]]></script>
<script language='JScript'><![CDATA[
var VbsFuncArgs, VbsEvalResult;
function PutVbsEvalResult(X) {VbsEvalResult=X;}
function GetVbsFuncArgs(i) {return VbsFuncArgs[i];}
function vbs(FuncName) {
return new Function(
'VbsFuncArgs=arguments;'+
'var count=VbsFuncArgs.length, Args=new Array(count);'+
'for (var i=count; --i>=0;) Args[i]="GetVbsFuncArgs("+i+")";'+
'VbsEval("' +FuncName+ '("+Args+")");'+
'var retVal=VbsEvalResult;'+
'VbsFuncArgs=null; VbsEvalResult=null;'+
'return retVal;'
);
}
]]></script>
</component>Пример использования из JScript:
vbs=new ActiveXObject("VbsFunction");
var InputBox=vbs("InputBox");
var X=InputBox("Введите число", "Вызов InputBox из JScript");
vbs("MsgBox")("Вы ввели: "+X);Автор решения - wisgest.
Конечно, всегда можно воспользоваться и более "традиционным" способом - форматом WSF.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

