Merci pour la réponse, mais tel que c'est présenté j'ai des messages d'erreur sous Word. Comment l'écrire proprement ?
Si c'est un poste XP, vous pouvez utiliser certaines classes de WMI :
strComputer = "."Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")Set colPrintJobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob")' Affichera Nom de Queue, Job ID, Utilisateur, Nombre de pages"For Each objPrintJob In colPrintJobs strPrinter = Split(objPrintJob.Name, ",", -1, 1) MsgBox strPrinter(0) & ", " & _ objPrintJob.JobID & ", " & objPrintJob.Owner & ", " _ & objPrintJob.TotalPagesNext
"J-Luc" wrote in message news:
Bonjour,
Comment connaitre en VB pour Word, le nombre de document qui reste à imprimer dans le driver de l'imprimante.
Anacoluthe
Bonjour !
'J-Luc' nous a écrit ...
Merci pour la réponse, mais tel que c'est présenté j'ai des messages d'erreur sous Word. Comment l'écrire proprement ?
Le code de Jean-Marc a un peu perdu ses lignes :-) Il marche très bien chez moi sous cette forme :
Public Sub TestImpressionsEnCours() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") If colprintjobs.Count = 0 Then Exit Sub For Each objPrintJob In colprintjobs strPrinter = Split(objPrintJob.Name, ",", -1, 1) MsgBox strPrinter(0) & ", " & _ objPrintJob.JobID & ", " & objPrintJob.Owner & ", " _ & objPrintJob.TotalPages Next End Sub
Si votre question portait seulement sur le nombre de documents restant à imprimer :
Public Sub CombienDeDocumentsAImprimer() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") MsgBox colprintjobs.Count & " docs à imprimer" End Sub
Anacoluthe « Peut-être dit-on moins de sottises qu'on n'en imprime. » - Edmond et Jules de GONCOURT
Bonjour !
'J-Luc' nous a écrit ...
Merci pour la réponse, mais tel que c'est présenté j'ai des messages d'erreur
sous Word. Comment l'écrire proprement ?
Le code de Jean-Marc a un peu perdu ses lignes :-)
Il marche très bien chez moi sous cette forme :
Public Sub TestImpressionsEnCours()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & _
strComputer & "rootcimv2")
Set colprintjobs = objWMIService.ExecQuery _
("Select * from Win32_PrintJob ")
If colprintjobs.Count = 0 Then Exit Sub
For Each objPrintJob In colprintjobs
strPrinter = Split(objPrintJob.Name, ",", -1, 1)
MsgBox strPrinter(0) & ", " & _
objPrintJob.JobID & ", " & objPrintJob.Owner & ", " _
& objPrintJob.TotalPages
Next
End Sub
Si votre question portait seulement sur le nombre
de documents restant à imprimer :
Public Sub CombienDeDocumentsAImprimer()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & _
strComputer & "rootcimv2")
Set colprintjobs = objWMIService.ExecQuery _
("Select * from Win32_PrintJob ")
MsgBox colprintjobs.Count & " docs à imprimer"
End Sub
Anacoluthe
« Peut-être dit-on moins de sottises qu'on n'en imprime. »
- Edmond et Jules de GONCOURT
Merci pour la réponse, mais tel que c'est présenté j'ai des messages d'erreur sous Word. Comment l'écrire proprement ?
Le code de Jean-Marc a un peu perdu ses lignes :-) Il marche très bien chez moi sous cette forme :
Public Sub TestImpressionsEnCours() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") If colprintjobs.Count = 0 Then Exit Sub For Each objPrintJob In colprintjobs strPrinter = Split(objPrintJob.Name, ",", -1, 1) MsgBox strPrinter(0) & ", " & _ objPrintJob.JobID & ", " & objPrintJob.Owner & ", " _ & objPrintJob.TotalPages Next End Sub
Si votre question portait seulement sur le nombre de documents restant à imprimer :
Public Sub CombienDeDocumentsAImprimer() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") MsgBox colprintjobs.Count & " docs à imprimer" End Sub
Anacoluthe « Peut-être dit-on moins de sottises qu'on n'en imprime. » - Edmond et Jules de GONCOURT
Jean-Marc Hilaire [MS]
Oui ,merci J-Luc, en effet il faut tenir compte des retours à la ligne qui dans mon messages sont mal reproduits.
J-Marc "Anacoluthe" wrote in message news:%23FkYTK$
Bonjour !
'J-Luc' nous a écrit ...
Merci pour la réponse, mais tel que c'est présenté j'ai des messages d'erreur sous Word. Comment l'écrire proprement ?
Le code de Jean-Marc a un peu perdu ses lignes :-) Il marche très bien chez moi sous cette forme :
Public Sub TestImpressionsEnCours() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") If colprintjobs.Count = 0 Then Exit Sub For Each objPrintJob In colprintjobs strPrinter = Split(objPrintJob.Name, ",", -1, 1) MsgBox strPrinter(0) & ", " & _ objPrintJob.JobID & ", " & objPrintJob.Owner & ", " _ & objPrintJob.TotalPages Next End Sub
Si votre question portait seulement sur le nombre de documents restant à imprimer :
Public Sub CombienDeDocumentsAImprimer() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") MsgBox colprintjobs.Count & " docs à imprimer" End Sub
Anacoluthe « Peut-être dit-on moins de sottises qu'on n'en imprime. » - Edmond et Jules de GONCOURT
Oui ,merci J-Luc, en effet il faut tenir compte des retours à la ligne qui
dans mon messages sont mal reproduits.
J-Marc
"Anacoluthe" <nopub_anacoluthe@Ouanadoo.fr> wrote in message
news:%23FkYTK$KFHA.3512@TK2MSFTNGP15.phx.gbl...
Bonjour !
'J-Luc' nous a écrit ...
Merci pour la réponse, mais tel que c'est présenté j'ai des messages
d'erreur sous Word. Comment l'écrire proprement ?
Le code de Jean-Marc a un peu perdu ses lignes :-)
Il marche très bien chez moi sous cette forme :
Public Sub TestImpressionsEnCours()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & _
strComputer & "rootcimv2")
Set colprintjobs = objWMIService.ExecQuery _
("Select * from Win32_PrintJob ")
If colprintjobs.Count = 0 Then Exit Sub
For Each objPrintJob In colprintjobs
strPrinter = Split(objPrintJob.Name, ",", -1, 1)
MsgBox strPrinter(0) & ", " & _
objPrintJob.JobID & ", " & objPrintJob.Owner & ", " _
& objPrintJob.TotalPages
Next
End Sub
Si votre question portait seulement sur le nombre
de documents restant à imprimer :
Public Sub CombienDeDocumentsAImprimer()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & _
strComputer & "rootcimv2")
Set colprintjobs = objWMIService.ExecQuery _
("Select * from Win32_PrintJob ")
MsgBox colprintjobs.Count & " docs à imprimer"
End Sub
Anacoluthe
« Peut-être dit-on moins de sottises qu'on n'en imprime. »
- Edmond et Jules de GONCOURT
Oui ,merci J-Luc, en effet il faut tenir compte des retours à la ligne qui dans mon messages sont mal reproduits.
J-Marc "Anacoluthe" wrote in message news:%23FkYTK$
Bonjour !
'J-Luc' nous a écrit ...
Merci pour la réponse, mais tel que c'est présenté j'ai des messages d'erreur sous Word. Comment l'écrire proprement ?
Le code de Jean-Marc a un peu perdu ses lignes :-) Il marche très bien chez moi sous cette forme :
Public Sub TestImpressionsEnCours() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") If colprintjobs.Count = 0 Then Exit Sub For Each objPrintJob In colprintjobs strPrinter = Split(objPrintJob.Name, ",", -1, 1) MsgBox strPrinter(0) & ", " & _ objPrintJob.JobID & ", " & objPrintJob.Owner & ", " _ & objPrintJob.TotalPages Next End Sub
Si votre question portait seulement sur le nombre de documents restant à imprimer :
Public Sub CombienDeDocumentsAImprimer() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") MsgBox colprintjobs.Count & " docs à imprimer" End Sub
Anacoluthe « Peut-être dit-on moins de sottises qu'on n'en imprime. » - Edmond et Jules de GONCOURT
J-Luc
Merci à tous les deux, les types deux programmes fonctionnent trés bien.
"Jean-Marc Hilaire [MS]" wrote:
Oui ,merci J-Luc, en effet il faut tenir compte des retours à la ligne qui dans mon messages sont mal reproduits.
J-Marc "Anacoluthe" wrote in message news:%23FkYTK$
Bonjour !
'J-Luc' nous a écrit ...
Merci pour la réponse, mais tel que c'est présenté j'ai des messages d'erreur sous Word. Comment l'écrire proprement ?
Le code de Jean-Marc a un peu perdu ses lignes :-) Il marche très bien chez moi sous cette forme :
Public Sub TestImpressionsEnCours() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") If colprintjobs.Count = 0 Then Exit Sub For Each objPrintJob In colprintjobs strPrinter = Split(objPrintJob.Name, ",", -1, 1) MsgBox strPrinter(0) & ", " & _ objPrintJob.JobID & ", " & objPrintJob.Owner & ", " _ & objPrintJob.TotalPages Next End Sub
Si votre question portait seulement sur le nombre de documents restant à imprimer :
Public Sub CombienDeDocumentsAImprimer() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") MsgBox colprintjobs.Count & " docs à imprimer" End Sub
Anacoluthe « Peut-être dit-on moins de sottises qu'on n'en imprime. » - Edmond et Jules de GONCOURT
Merci à tous les deux, les types deux programmes fonctionnent trés bien.
"Jean-Marc Hilaire [MS]" wrote:
Oui ,merci J-Luc, en effet il faut tenir compte des retours à la ligne qui
dans mon messages sont mal reproduits.
J-Marc
"Anacoluthe" <nopub_anacoluthe@Ouanadoo.fr> wrote in message
news:%23FkYTK$KFHA.3512@TK2MSFTNGP15.phx.gbl...
Bonjour !
'J-Luc' nous a écrit ...
Merci pour la réponse, mais tel que c'est présenté j'ai des messages
d'erreur sous Word. Comment l'écrire proprement ?
Le code de Jean-Marc a un peu perdu ses lignes :-)
Il marche très bien chez moi sous cette forme :
Public Sub TestImpressionsEnCours()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & _
strComputer & "rootcimv2")
Set colprintjobs = objWMIService.ExecQuery _
("Select * from Win32_PrintJob ")
If colprintjobs.Count = 0 Then Exit Sub
For Each objPrintJob In colprintjobs
strPrinter = Split(objPrintJob.Name, ",", -1, 1)
MsgBox strPrinter(0) & ", " & _
objPrintJob.JobID & ", " & objPrintJob.Owner & ", " _
& objPrintJob.TotalPages
Next
End Sub
Si votre question portait seulement sur le nombre
de documents restant à imprimer :
Public Sub CombienDeDocumentsAImprimer()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & _
strComputer & "rootcimv2")
Set colprintjobs = objWMIService.ExecQuery _
("Select * from Win32_PrintJob ")
MsgBox colprintjobs.Count & " docs à imprimer"
End Sub
Anacoluthe
« Peut-être dit-on moins de sottises qu'on n'en imprime. »
- Edmond et Jules de GONCOURT
Merci à tous les deux, les types deux programmes fonctionnent trés bien.
"Jean-Marc Hilaire [MS]" wrote:
Oui ,merci J-Luc, en effet il faut tenir compte des retours à la ligne qui dans mon messages sont mal reproduits.
J-Marc "Anacoluthe" wrote in message news:%23FkYTK$
Bonjour !
'J-Luc' nous a écrit ...
Merci pour la réponse, mais tel que c'est présenté j'ai des messages d'erreur sous Word. Comment l'écrire proprement ?
Le code de Jean-Marc a un peu perdu ses lignes :-) Il marche très bien chez moi sous cette forme :
Public Sub TestImpressionsEnCours() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") If colprintjobs.Count = 0 Then Exit Sub For Each objPrintJob In colprintjobs strPrinter = Split(objPrintJob.Name, ",", -1, 1) MsgBox strPrinter(0) & ", " & _ objPrintJob.JobID & ", " & objPrintJob.Owner & ", " _ & objPrintJob.TotalPages Next End Sub
Si votre question portait seulement sur le nombre de documents restant à imprimer :
Public Sub CombienDeDocumentsAImprimer() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & _ strComputer & "rootcimv2") Set colprintjobs = objWMIService.ExecQuery _ ("Select * from Win32_PrintJob ") MsgBox colprintjobs.Count & " docs à imprimer" End Sub
Anacoluthe « Peut-être dit-on moins de sottises qu'on n'en imprime. » - Edmond et Jules de GONCOURT