Вы здесь
Поиск полного имени принтера по подстроке
пт, 11.06.2010 - 16:38 - krak
Поиски в Интернет помогли решить задачу определения полного имени принтера по подстроке. Такое может потребоваться при печати из терминальной сессии.
Функция НайтиПолноеИмяПринтераПоПодстроке(Маска) Экспорт
_Маска = СокрЛП(Маска);
Locator = Новый COMОбъект("WbemScripting.SWbemLocator");
Сервисы = Locator.ConnectServer();
Объекты = Сервисы.InstancesOf("Win32_Printer");
Для каждого Принтер из Объекты Цикл
Если Найти(Принтер.Name,_Маска)<>0 Тогда
Возврат Принтер.Name;
КонецЕсли;
КонецЦикла;
Возврат "";
КонецФункции
_Маска = СокрЛП(Маска);
Locator = Новый COMОбъект("WbemScripting.SWbemLocator");
Сервисы = Locator.ConnectServer();
Объекты = Сервисы.InstancesOf("Win32_Printer");
Для каждого Принтер из Объекты Цикл
Если Найти(Принтер.Name,_Маска)<>0 Тогда
Возврат Принтер.Name;
КонецЕсли;
КонецЦикла;
Возврат "";
КонецФункции
Оригинал идеи: http://1csoft.com/node/920.