Вызов окна спулера печати
Подскажите, плиз, как вызвать из VB/VBA стандартное окошко спулера принтера.
(это которое настройка/принтеры и факсы/HP1200/)
Код:
commondialog1.showprinter
Код:
commondialog1.showprinter
Это не то.
Нужно окно со списком отправленных на печать заданий (чтоб можно удалить задание, приостановить и т.д.)
Такое окошко вылезает в трее только когда ты что-нибудь печатаешь.
Естественно. Но как его вызвать программно?:confused:
У меня к одному компу подключено 6! принтеров:eek: , и хотелось бы иметь возможность просмотреть очередь заданий и т.д. для любого из них с одного клика мышкой!
У меня к одному компу подключено 6! принтеров:eek: , и хотелось бы иметь возможность просмотреть очередь заданий и т.д. для любого из них с одного клика мышкой![/QUOTE]
Как говорится: "Лучше поздно, чем никогда".
Вот вариант решения Вашей задачи:
Код:
Sub Example()
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace(&H4)
numItems = objFolder.Items.Count
Set curItem = objFolder.Items.Item(numItems - 1)
curItem.InvokeVerb
End Sub
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace(&H4)
numItems = objFolder.Items.Count
Set curItem = objFolder.Items.Item(numItems - 1)
curItem.InvokeVerb
End Sub
В этом примере предполагается, что нужный принтер является последним по счёту в общем списке (numItems - 1).
Если нужно узнать порядок следования элементов папки "Принтеры", то можно воспользоваться вот таким способом:
Код:
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace(&H4)
numItems = objFolder.Items.Count
For curItem = 0 To numItems - 1
MsgBox objFolder.Items.Item(curItem).Name
Next
Set objFolder = objShellApp.NameSpace(&H4)
numItems = objFolder.Items.Count
For curItem = 0 To numItems - 1
MsgBox objFolder.Items.Item(curItem).Name
Next