0
- 20.05.2013 - 11:03
|
Как программно открыть окно очереди печати принтера с помощью ScriptControl. В качестве параметра - строка с наименованием принтера.
| |
1
- 20.05.2013 - 12:36
| открыть или развернуть? ибо если принтер не локальный, то думаю никак. как развернуть впрочем тоже не знаю :-))) | |
2
- 20.05.2013 - 13:16
| 0-bvb > Придется допустить юзера до системной папки %systemroot%\system32\spool\printers\... | |
3
- 20.05.2013 - 13:21
|
Собсно... Const PRINTHOOD = &H1b& Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(PRINTHOOD) Set objFolderItem = objFolder.Self Wscript.Echo objFolderItem.Path Set colItems = objFolder.Items For Each objItem in colItems Wscript.Echo objItem.Name Next | |
4
- 21.05.2013 - 10:21
|
scrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl"); scrptCtrl.language="vbscript"; scrptCtrl.addcode(" |Function OpenSpool(NamePrinter) |Set objShell = CreateObject(""Shell.Application"") |Set objFolder = objShell.Namespace(NamePrinter) |Set objFolderItem = objFolder.Self |Wscript.Echo objFolderItem.Path |Set colItems = objFolder.Items |For Each objItem in colItems |Wscript.Echo objItem.Name |Next |End Function"); scrptCtrl.run("OpenSpool", "\\ars-srv01\Kyocera FS-3920DN4"); пишет : Произошла исключительная ситуация (Ошибка выполнения Microsoft VBScript): Требуется объект: 'objFolder' Что я делаю не так с параметром ? | |
5
- 21.05.2013 - 11:57
|
(0) ИмяПринтераКакВСистеме = СписокПринтеров.ПолучитьЗначение(СписокПринтеров.Т екущаяСтрока()); whs = СоздатьОбъект("WScript.Shell"); //whs.Run("cmd.exe /c rundll32 printui.dll,PrintUIEntry /e /n """+СокрЛП(ИмяПринтераКакВСистеме)+"""",0,1); whs.Run("cmd.exe /c rundll32 printui.dll,PrintUIEntry /o /n """+СокрЛП(ИмяПринтераКакВСистеме)+"""",0,1); | |
6
- 21.05.2013 - 13:14
| (5) Вот это мне больше нравится. Спасибо. | |
| Интернет-форум Краснодарского края и Краснодара |