Уведомления
Очистить все

Как выполнить какой-либо vb-скрипт на 1С?

1 Записи
1 Пользователи
0 Likes
2,040 Просмотры
158-150 Okolokompa Форум
(@mitozzz)
Trusted Member
Присоединился: 4 года назад
Записи: 32
Создатель темы  

Бывает, что нам нужно сделать в системе что-то специфичное, а необходимый функционал вы нашли в каком-нибудь vb-скрипте, ниже представлен шаблон, который можно использовать в данной ситуации:

wshShell     = Новый COMОбъект("wScript.shell"); 


ПутьКСкрипту = wshShell.expandEnvironmentStrings("%HOMEDRIVE%")
 + wshShell.expandEnvironmentStrings("%HOMEPATH%") + "\VBSFrom1C.vbs";
СкриптVBS    = Новый ТекстовыйДокумент; 
ТекстСкрипта = "MsgBox " + Символ(34) + "Hello World!" + Символ(34); 
СкриптVBS.ДобавитьСтроку(ТекстСкрипта); 
Попытка 
 СкриптVBS.Записать(ПутьКСкрипту, КодировкаТекста.OEM); 
 ЗапуститьПриложение(ПутьКСкрипту); 
Исключение 
 Сообщить(ОписаниеОшибки());
КонецПопытки; 

Но вдруг запуск скриптов запрещён локальной политикой безопасности? В таком случае нам поможет HTML-приложение, которое по умолчанию имеет доступ к файловой системе, ниже представлен шаблон:

wshShell         = Новый COMОбъект("wScript.shell"); 
ПутьКСкрипту      = wshShell.expandEnvironmentStrings("%HOMEDRIVE%") + wshShell.expandEnvironmentStrings("%HOMEPATH%") + "\JavascriptFrom1C.hta"; 
 
СкриптJavascript = Новый ТекстовыйДокумент; 
Символ34 = Символ(34);
ТекстСкрипта = "<!-- saved from url=(0014)about:internet --><!doctype> 
|<html> 
|<head> 
| <HTA:APPLICATION ID=" + Символ34 + "oHTA" + Символ34 + " 
| APPLICATIONNAME=" + Символ34 + "WMPTour" + Символ34 + " 
| BORDER=" + Символ34 + "thin" + Символ34 + " 
| BORDERSTYLE=" + Символ34 + "normal" + Символ34 + " 
| CAPTION=" + Символ34 + "yes" + Символ34 + " 
| maximizeButton=" + Символ34 + "no" + Символ34 + " 
| minimizeButton=" + Символ34 + "no" + Символ34 + " 
| ICON=" + Символ34 + "img/wmptour.ico" + Символ34 + " 
| SHOWINTASKBAR=" + Символ34 + "no" + Символ34 + " 
| SINGLEINSTANCE=" + Символ34 + "yes" + Символ34 + " 
| SYSMENU=" + Символ34 + "yes" + Символ34 + " 
| VERSION=" + Символ34 + "1.0" + Символ34 + " 
| WINDOWSTATE=" + Символ34 + "normal" + Символ34 + "> 
|</head> 
|<body> 
|<script> 
| alert( 'Hello, World!'); 
|</script> 
|</body> 
|</html> 
|"; 
СкриптJavascript.ДобавитьСтроку(ТекстСкрипта); 
Попытка 
 СкриптJavascript.Записать(ПутьКСкрипту, КодировкаТекста.OEM); 
 ЗапуститьПриложение(ПутьКСкрипту); 
Исключение 
 Сообщить(ОписаниеОшибки()); 
КонецПопытки; 

   
Цитата
Поделиться: