Прошу прощения за UP. Предыдущий пост заставил меня задуматься, а нельзя ли сделать что-нибудь наподобие динамической библиотеки различных функци vbs? В связи с этим следующий пример.

Код:
var vbCode = 'Function MyFunc(a,b,c,d,e)\r';
vbCode += 'Set objCom = GetObject(a)\r';
vbCode += 'MyFunc = objCom.mkdir(b)\r';
vbCode += 'End Function\r';
var Return = mdm.System.VBScript.execute(vbCode, "MyFunc", "script:http://mdm-zinc.narod.ru/Com/fcom.wsc", "C:\\NewFolder", "", "");
mdm.Dialogs.prompt(Return);
На указанном url лежит файл fcom.wsc (windows scripting component):

Код:
<?xml version="1.0"?>
<component>
<?component error="true" debug="true"?>
<registration
description="fcom"
progid="fcom.WSC"
version="1.00"
classid="{fd17cd28-824d-4ddb-9980-5825cae259be}"
>
</registration>
<public>
<method name="mkdir">
<PARAMETER name="path"/>
</method>
</public>
<script language="VBScript">
<![CDATA[
function mkdir(path)
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder(path)
mkdir = f.path
end function
]]>
</script>
</component>
Происходит динамическая подгрузка этого компонента и вызывается его метод mkdir(path), который создает папку 'path'. Проверку на "already exists" я не делал, поэтому имя папки должно быть уникальным, иначе - ошибка.
Т.е. происходит что-то наподобие вызова библиотечной функции.
Еще один занятный пример

Код:
var vbCode = 'Function MyFunc(a,b,c,d,e)\r';
vbCode += 'Set objCom = GetObject(a)\r';
vbCode += 'MyFunc = objCom.typechar(b,CDbl(c),d)\r';
vbCode += 'End Function\r';
var Return = mdm.System.VBScript.execute(vbCode, "MyFunc", "script:http://mdm-zinc.narod.ru/Com/fcom.wsc", "Hello!~It's me.", "0,3", "winword");
mdm.Dialogs.prompt(Return);
Скрипт запускает word, и с интервалом 0.3 с.(из-за особенностей vbs десятичный
разделитель должен быть запятая
",") печатает в нем строки "Hello....", если использовать аргумент "notepad" - то запустится блокнот, если строку "12*3~" и аргумент "calc" то ..