OVH Cloud OVH Cloud

Sélection d'une imprimante

2 réponses
Avatar
JLK
J'ai une commondialog Impression.
Je veux l'utiliser pour choisir une imprimante et diriger l'impression vers
l'imprimante choisie dans la boîte de dialogue Impression.
Quelle propriété de la boîte de dialogue Impression dois-je utiliser dans :
Set Printer = Impression.????

JLK

2 réponses

Avatar
Zoury
Salut JLK! :O)

La boite de dialogue s'occupe d'intialiser l'objet Printer. à la fermeture
de la boite de dialogue l'objet Printer pointe déjà sur l'imprimante
sélectionnée (elle aussi devenue l'imprimante par défaut du système jusqu'à
destruction du contrôle (et donc du formulaire)).

voici un exemple, exécute le en pas à pas et observe les propriétés de
l'objet Printer.
'***
Option Explicit

Private Declare Function SetDefaultPrinter _
Lib "winspool.drv" _
Alias "SetDefaultPrinterA" _
( _
ByVal pszPrinter As String _
) As Boolean

Private Sub Form_Load()

Dim sOldPrinterName As String

' on conserve le nom de l'imprimante par défaut
Printer.TrackDefault = True
sOldPrinterName = Printer.DeviceName

' on permet la sélection d'une nouvelle imprimante
CommonDialog1.ShowPrinter

' on vérifie si l'imprimante à changé
If (Printer.DeviceName <> sOldPrinterName) Then
' on réselectionne l'ancienne imprimante
Call SelectPrinter(sOldPrinterName)
' permet de remettre l'imprimante intiale par défaut
' sans attendre la fermeture du formulaire
Call SetDefaultPrinter(sOldPrinterName)
End If

' ferme le formulaire
Call Unload(Me)

End Sub

' boucle la collection d'imprimante et sélectionne
' celle mentionnée si elle existe
Private Sub SelectPrinter(ByRef sPrinterName As String)

Dim prt As Printer

For Each prt In Printers
If (prt.DeviceName = sPrinterName) Then
Set Printer = prt
Exit For
End If
Next prt

End Sub
'***

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"JLK" wrote in message
news:%
J'ai une commondialog Impression.
Je veux l'utiliser pour choisir une imprimante et diriger l'impression


vers
l'imprimante choisie dans la boîte de dialogue Impression.
Quelle propriété de la boîte de dialogue Impression dois-je utiliser dans


:
Set Printer = Impression.????

JLK




Avatar
JLK
Salut Zoury,

Merci beaucoup pour l'information.

JLK
"Zoury" a écrit dans le message de news:
#
Salut JLK! :O)

La boite de dialogue s'occupe d'intialiser l'objet Printer. à la fermeture
de la boite de dialogue l'objet Printer pointe déjà sur l'imprimante
sélectionnée (elle aussi devenue l'imprimante par défaut du système


jusqu'à
destruction du contrôle (et donc du formulaire)).

voici un exemple, exécute le en pas à pas et observe les propriétés de
l'objet Printer.
'***
Option Explicit

Private Declare Function SetDefaultPrinter _
Lib "winspool.drv" _
Alias "SetDefaultPrinterA" _
( _
ByVal pszPrinter As String _
) As Boolean

Private Sub Form_Load()

Dim sOldPrinterName As String

' on conserve le nom de l'imprimante par défaut
Printer.TrackDefault = True
sOldPrinterName = Printer.DeviceName

' on permet la sélection d'une nouvelle imprimante
CommonDialog1.ShowPrinter

' on vérifie si l'imprimante à changé
If (Printer.DeviceName <> sOldPrinterName) Then
' on réselectionne l'ancienne imprimante
Call SelectPrinter(sOldPrinterName)
' permet de remettre l'imprimante intiale par défaut
' sans attendre la fermeture du formulaire
Call SetDefaultPrinter(sOldPrinterName)
End If

' ferme le formulaire
Call Unload(Me)

End Sub

' boucle la collection d'imprimante et sélectionne
' celle mentionnée si elle existe
Private Sub SelectPrinter(ByRef sPrinterName As String)

Dim prt As Printer

For Each prt In Printers
If (prt.DeviceName = sPrinterName) Then
Set Printer = prt
Exit For
End If
Next prt

End Sub
'***

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"JLK" wrote in message
news:%
> J'ai une commondialog Impression.
> Je veux l'utiliser pour choisir une imprimante et diriger l'impression
vers
> l'imprimante choisie dans la boîte de dialogue Impression.
> Quelle propriété de la boîte de dialogue Impression dois-je utiliser


dans
:
> Set Printer = Impression.????
>
> JLK
>
>