Usuário com melhor resposta
Script p/ impressora/impressão: imprimir e pausar 15 minutos e voltar a imprimir (repetir isso o dia inteiro)

Pergunta
-
Olá
Antes de mais nada obrigado por estar lendo esta dúvida.
Utilizo uma impressora a laser P&B para fazer um único trabalho e nada mais: imprimir três linhas de texto contendo endereço, telefone, etc. sobre um panfleto colorido que recebemos da nossa central em São Paulo.
Contudo, como você deve saber, as impressoras a laser esquentam muito e com isso tenho que imprimir 30 panfletos e esperar 15 minutos para ela esfriar para depois mandar imprimir mais 30 e assim por diante.
A solução que preciso eu não encontrei no Google nem no Baixaki nem em nenhum lugar. Preciso de um script ou programa que mande a impressora fazer isso tudo sozinha. Ou seja, mande ela imprimir 30 e pausar 15 minutos e depois voltar a imprimir 30... fazendo isso o dia inteiro. Serão 4000 impressões por mês.
Tentei pelo Agendador de Tarefas do Windows mas não deu certo. Até existe um campo para ser preenchido onde se pode colocar scripts, mas não senti confiança.
Dados técnicos: tenho notebooks com Windows Vista, Windows 7 e Mac. A impressora é a HP LaserJet P1102w.
Mais uma vez agradeço pela sua ajuda
Respostas
-
César,
tente este .VBS
strComputer = "." 'Tem que colocar o nome da impressora aqui strNomeImpressora="HP_PB" Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer Where Name = '" & strNomeImpressora & "'") do 'Iniciar contagem wscript.sleep 60000 * 15 '15min e pausa For Each objPrinter in colInstalledPrinters ObjPrinter.Pause() Next 'Aguarda mais 15 minutos wscript.sleep 60000 * 15 'Resume impressao For Each objPrinter in colInstalledPrinters ObjPrinter.Resume() Next loop
Ref.:
Win32_Printer class (Windows)
msdn.microsoft.com/en-us/library/windows/desktop/aa394363(v=vs.85).aspx
Fábio de Paula Junior
- Sugerido como Resposta Fábio JrModerator quarta-feira, 19 de dezembro de 2012 23:10
- Marcado como Resposta Fábio JrModerator sexta-feira, 21 de dezembro de 2012 00:23
Todas as Respostas
-
-
-
César,
tente este .VBS
strComputer = "." 'Tem que colocar o nome da impressora aqui strNomeImpressora="HP_PB" Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer Where Name = '" & strNomeImpressora & "'") do 'Iniciar contagem wscript.sleep 60000 * 15 '15min e pausa For Each objPrinter in colInstalledPrinters ObjPrinter.Pause() Next 'Aguarda mais 15 minutos wscript.sleep 60000 * 15 'Resume impressao For Each objPrinter in colInstalledPrinters ObjPrinter.Resume() Next loop
Ref.:
Win32_Printer class (Windows)
msdn.microsoft.com/en-us/library/windows/desktop/aa394363(v=vs.85).aspx
Fábio de Paula Junior
- Sugerido como Resposta Fábio JrModerator quarta-feira, 19 de dezembro de 2012 23:10
- Marcado como Resposta Fábio JrModerator sexta-feira, 21 de dezembro de 2012 00:23