Script para determinar número de cópias de um job de impressão

Olá,

frequentemente eu recebo problemas por email para responder. Eu prometo responder na medida do possível (sempre que sobra um tempo, afinal de contas, isso é suporte gratuito =), e quase que sempre eu atraso, com uma ou duas semanas de diferença… mas procuro responder dúvidas das pessoas, mesmo no meu email pessoal.

Para resolver esse problema, estou criando um sistema para envio de dúvidas. Isso vai desafogar meu email (afinal de contas, é um email pessoal =) e agilizar o processo de resposta. Fica mais fácil pra selecionar as melhores dúvidas e colocar aqui. Além disso, é melhor pras próprias pessoas que perguntam, já que elas vão poder verificar nas dúvidas das outras pessoas. Meu blog vai ser reformulado logo logo… aguardem!

Alguns dias atrás recebi a seguinte dúvida:

Oi vinicius, blz

Vc ja me ajudou antes, em várias situações, mais estou aqui novamente te pedindo ajuda..

To precisando de um script vbs, que gere o numero de copias de uma determinada impressora.

Encontrei este script,

' Monitor Print Job Status
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colPrintJobs =  objWMIService.ExecQuery _
    ("Select * from Win32_PrintJob")

Wscript.Echo "Print Queue, Job ID, Owner, Total Pages"

For Each objPrintJob in colPrintJobs
    strPrinter = Split(objPrintJob.Name,",",-1,1)
    Wscript.Echo strPrinter(0) & ", " & _
        objPrintJob.JobID & ", " &  objPrintJob.Owner & ", " _
            & objPrintJob.TotalPages
Next

No entanto o mesmo informa o total de paginas, mas preciso do numero de copias.

ex. um documeto com 6 paginas ele informa.
mas se mandar emprimir 2 copias deste determinado documento ele não informa (ex. 12)

deste ja agradeço
<nome>

O problema me intrigou um bocado. Gostei disso e fui atrás para ajudar o cara. Vejam minha conclusão:

Olá <nome>,

até onde eu vi (http://msdn.microsoft.com/en-us/library/aa394370(VS.85).aspx)  o WMI não possui nenhuma propriedade com o número de cópias. Por outro lado, faz até sentido: o subsistema de impressão do Windows não deve ter controle sobre cópias, já que o que chega pra ele são somente jobs. Tudo que ele sabe é quantas folhas são, de onde veio, pra onde vai, e quantas foram impressas... o conteúdo fica a cargo da aplicação.

Em resumo: a princípio, do ponto de vista do SO, não dá... quem deve ter controle sobre o número de cópias é o programa que pede pra imprimir um documento.

[]s,

Vinicius

Obrigado pela dúvida e até a próxima!

Categorias dessa postagem: , ,

Comentários

marcos araguez : BOA TARDE VINICIUS,
VI O TEMA ABORDADO REFERENTE A SCRIPT E GOSTARIA Q VC VOLTASSE A UM ASSUNTO ANTIGO AKI NO SEU BLOG Q É OS SCRIPT DE ATUALIZAÇÃO DE PROGRAMAS EM MAQUINAS DIFERENTE, GOSTARIA DE SABER COMO FAZER ESSES SCRIPT, POIS TRABALHO EM UMA EMPRESA NA AREA DE TI E NÃO TENHO O MINIMO CONHECIMENTO EM PROGRAMAÇÃO, É POSSIVEL FAZER UM SCRIPT P/ ATUALIZAR ALGUNS PROGRAMAS ???
DESDE JA AGRADECIDO...
TENHA UMA OTIMA TARDE. [30/1/09 17:04 - link]