Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment changer d'imprimante par défaut?

4 réponses
Avatar
lamalice
Comment faire pour changer plusieurs fois d'imprimante=20
par d=E9faut?

J'utilise le CommonDialog showPrinter, je change=20
d'imprimante par d=E9faut (celle-ci est bien prise en=20
compte quand je regarde dans le panneau de=20
configuration!!!), mais j'imprime toujours avec la=20
premi=E8re imprimante utilis=E9e dans l'application!

Printer.EndDoc
CommonDialog.PrinterDefault =3D True
CommonDialog.Flags =3D cdlPDReturnDC
CommonDialog.ShowPrinter

****mise en place des donn=E9es****
Printer.EndDoc

O=F9 est l'erreur??

MERCI...

4 réponses

Avatar
Sundowne
lamalice wrote:
Comment faire pour changer plusieurs fois d'imprimante
par défaut?

J'utilise le CommonDialog showPrinter, je change
d'imprimante par défaut (celle-ci est bien prise en
compte quand je regarde dans le panneau de
configuration!!!), mais j'imprime toujours avec la
première imprimante utilisée dans l'application!

Printer.EndDoc
CommonDialog.PrinterDefault = True
CommonDialog.Flags = cdlPDReturnDC
CommonDialog.ShowPrinter

****mise en place des données****
Printer.EndDoc

Où est l'erreur??

MERCI...




'Jour
Met dans la routine d'initialisation de ton application
Printer.TrackDefault = true

@+
Avatar
David
Bonjour,

C'est sans malice que je te communique
LA solution qui fonctionne chez moi,
a contrario de toutes les autres :

Private Sub MnuC5_Click()

Dim sOldPrinterName As String

' on conserve le nom de l'imprimante par défaut
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)

End If

Printer.TrackDefault = True

End Sub


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


a+
Jean-Pol DAVID
ICQ 28394733
--
Quis ? Quid ? Ubi ? Quibus auxiliis ? Cur ? Quomodo ? Quando ?
"lamalice" a écrit dans le message de
news: 121e401c44261$7b4c10a0$
Comment faire pour changer plusieurs fois d'imprimante
par défaut?

J'utilise le CommonDialog showPrinter, je change
d'imprimante par défaut (celle-ci est bien prise en
compte quand je regarde dans le panneau de
configuration!!!), mais j'imprime toujours avec la
première imprimante utilisée dans l'application!

Printer.EndDoc
CommonDialog.PrinterDefault = True
CommonDialog.Flags = cdlPDReturnDC
CommonDialog.ShowPrinter

****mise en place des données****
Printer.EndDoc

Où est l'erreur??

MERCI...
Avatar
Marc
Bonsoir,
Si tu utilises l'objet printer pour imprimer (avec sa méthode print par
exemple), je pense que le choix de l'imprimante s'effectue plutôt de la
manière suivante :
set printer = x
avec x = un des membres de la collection "printers" : celui correspondant à
l'imprimante que tu désires.
A+,
Marc.



"lamalice" a écrit dans le message de
news:121e401c44261$7b4c10a0$
Comment faire pour changer plusieurs fois d'imprimante
par défaut?

J'utilise le CommonDialog showPrinter, je change
d'imprimante par défaut (celle-ci est bien prise en
compte quand je regarde dans le panneau de
configuration!!!), mais j'imprime toujours avec la
première imprimante utilisée dans l'application!

Printer.EndDoc
CommonDialog.PrinterDefault = True
CommonDialog.Flags = cdlPDReturnDC
CommonDialog.ShowPrinter

****mise en place des données****
Printer.EndDoc

Où est l'erreur??

MERCI...
Avatar
lamalice
Merci à tous d'avoir répondu.

Mais j'ai trouvé le problème: j'avais un Print.NewPage
qui trainait dans le programme, et apparement cette
commande garde le lien avec la 1° imprimante malgré la
présence d'un Print.EndDoc.....

Lamalice