COMO SABER SE O DOCUMENTO JA FOI IMPRESSO?
Olá pessoal?
Como monitorar uma impressão?? Como saber se o documento já foi impresso?
Como monitorar uma impressão?? Como saber se o documento já foi impresso?
Cara, eu sei que essa resposta não era bem o que você queria, mas eu já tive essa dúvida e nunca ouvi falar em obter um retorno da impressora, para isso eu faço uma tela exigir uma confirmação do cliente se o documento foi corretamente impresso após o comando de impressão e gravo esse valor na tabela. Isso no caso em que há necessidade dessa confirmação.
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=402372&varWorld=
Bom não se é isso que você está procurando mas.....
Bom não se é isso que você está procurando mas.....
Olha colega já lutei muito por esse código e vou postar o que achei até agora
coloque em um form 01 Label, 01 commandbutton e um timer, mude a propriedade interval deste timer para 1, e enable = False
cole o seguinte código
bom não sei se o código funciona bem para qualquer impressora mas é o mais próximo que cheguei
coloque em um form 01 Label, 01 commandbutton e um timer, mude a propriedade interval deste timer para 1, e enable = False
cole o seguinte código
Private Declare Function OpenPrinter Lib [Ô]winspool.drv[Ô] Alias [Ô]OpenPrinterA[Ô] (ByVal pPrinterName As String, phPrinter As Long, pDefault As Any) As Long
Private Declare Function ClosePrinter Lib [Ô]winspool.drv[Ô] (ByVal hPrinter As Long) As Long
Private Declare Function EnumJobs Lib [Ô]winspool.drv[Ô] Alias [Ô]EnumJobsA[Ô] (ByVal hPrinter As Long, ByVal FirstJob As Long, ByVal NoJobs As Long, ByVal Level As Long, pJob As Any, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
Private Sub Command1_Click()
[txt-color=#007100][ô] este for imprime 3 paginas em branco apenas para teste
[ô] aqui você irá colocar seu código de impressão[/txt-color]
For f = 0 To 3
Printer.Print [Ô][Ô]
Printer.EndDoc
Next f
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Dim hPrinter As Long, lNeeded As Long, lReturned As Long
Dim lJobCount As Long
OpenPrinter Printer.DeviceName, hPrinter, ByVal 0&
EnumJobs hPrinter, 0, 99, 1, ByVal 0&, 0, lNeeded, lReturned
If lNeeded > 0 Then
ReDim byteJobsBuffer(lNeeded - 1) As Byte
EnumJobs hPrinter, 0, 99, 1, byteJobsBuffer(0), lNeeded, lNeeded, lReturned
If lReturned > 0 Then
lJobCount = lReturned
Else
lJobCount = 0
End If
Else
lJobCount = 0
End If
ClosePrinter hPrinter
Label1.Caption = [Ô]Arquivos a serem impressos: [Ô] + CStr(lJobCount)
If lJobCount = 0 Then Timer1.Enabled = False
End Sub
bom não sei se o código funciona bem para qualquer impressora mas é o mais próximo que cheguei
Gente!!! O negócio é o seguinte: O HOMEM PODE ATé NÃO TER DINHEIRO... MAS TENDO AMIGOS IGUAIS A VOCÊS, ELE NÃO PRECISA DE MAIS NADA...
MUITO OBRIGADO A TODOS pelo carinho e pela atenção!!
A solução do que eu precisa ficou com o código que o Marcelo passou, portanto, um MUITO OBRIGADO especial para você Marcelo.
Obrigado mais uma vez a todos!!!!
MUITO OBRIGADO A TODOS pelo carinho e pela atenção!!
A solução do que eu precisa ficou com o código que o Marcelo passou, portanto, um MUITO OBRIGADO especial para você Marcelo.
Obrigado mais uma vez a todos!!!!
Abraço colega não esquece de encerrar o tópico
Tópico encerrado , respostas não são mais permitidas