Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

affichage impression

P

pierrot

Guest
Voilà ce que je veux faire.

Dans une application, je propose l'impression d'un document, je voudrais faire afficher pendant l'impression un userform affichant " Impression en Cours" et qui s'efface lorsque l'imprimante a terminée l'impression.
Dois je utiliser un timer ou une autre fonction.

Merci du coup de main.

Pierrot
 
S

STéphane

Guest
bonsoir

il te faut utiliser une commande shell pour imprimer le fichier en question.
et utiliser un code qui permettra d'attendre la fin de cette exécution extérieure

Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long

Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, _
lpExitCode As Long) As Long

Public Const PROCESS_QUERY_INFORMATION = &H400
Public Const STILL_ACTIVE = &H103

Sub Test()
Dim StartTime As Double
StartTime = Now
ShellAndWait "calc.exe", 1
MsgBox "Gone " & Format(Now - StartTime, "s") & " seconds"
End Sub

'Window States (Per Help for Shell function):
' 1, 5, 9 Normal with focus.
' 2 Minimized with focus.
' 3 Maximized with focus.
' 4, 8 Normal without focus.
' 6, 7 Minimized without focus.
Sub ShellAndWait(ByVal PathName As String, Optional WindowState)
Dim hProg As Long
Dim hProcess As Long, ExitCode As Long

'fill in the missing parameter and execute the program
If IsMissing(WindowState) Then WindowState = 1
hProg = Shell(PathName, WindowState)
'hProg is a "process ID under Win32. To get the process handle:
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, hProg)
Do
'populate Exitcode variable
GetExitCodeProcess hProcess, ExitCode
DoEvents
Loop While ExitCode = STILL_ACTIVE
End Sub

bye
Stéphane
 

Discussions similaires

Réponses
4
Affichages
512
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…