Printer kiezen via VBA

Status
Niet open voor verdere reacties.

reneemettrie

Terugkerende gebruiker
Lid geworden
1 aug 2006
Berichten
1.233
Ik wil een printer laten kiezen uit een keuzelijst.
Mijn standaard printer is een Deskjet

Ik zet de printers in de lijst via de Open event van de form. Op die form staat dan een knop om de gekozen printer te gebruiken en het formulier (of whatever) af te drukken. Ik kies een PDF printer.
Maar de afdruk gebeurt nog altijd naar de deskjet. Wat doe ik fout?

Code:
Private Sub Form_Open(Cancel As Integer)
Dim i As Byte
For i = 0 To Application.Printers.Count - 1
cbo_Printers.AddItem Application.Printers(i).DeviceName
Next
End Sub

Private Sub cmd_Print_Click()
Set Application.Printer = Application.Printers(cbo_Printers.Value)
DoCmd.PrintOut acSelection
End Sub
 
Ik zou eens met een MsgBox checken of de printer ook daadwerkelijk is omgezet.
 
Ik zou eens met een MsgBox checken of de printer ook daadwerkelijk is omgezet.

Code:
Private Sub cmd_Print_Click()
Debug.Print "Voor: " & Application.Printer.DeviceName
Set Application.Printer = Application.Printers(cbo_Printers.Value)
DoCmd.PrintOut acSelection
Debug.Print "Na: " & Application.Printer.DeviceName
End Sub

Geeft het volgende:
Code:
Voor: HP DeskJet 970Cse
Na: Microsoft Print to PDF

Maar ook als ik manueel print blijft de printer op die Deskjet staan
 
Wat print je precies? Rapporten kun je gelijk omzetten via export naar pdf, dus printen is overbodig. Lijkt mij een stuk simpeler.
 
Het is eigenlijk maar een academische vraag, om te kunnen tonen hoe je een printer uit een lijst kunt kiezen. Die pdf is maar een voorbeeld om geen papier te hoeven verspillen, en zelf gebruik ik maar één printer :)
 
Access ‘onthoudt’ de printer die aan een rapport hangt, dus ik snap wel dat je de eerder ingestelde printer krijgt. Of dat ook vanuit een formulier werkt weet ik niet, omdat ik (logischerwijs) nooit formulieren afdruk. Maar dat zou de reden dus kunnen zijn. Vanuit Word en Excel werkt de techniek namelijk wél.
 
Octafish, je hebt (weer eens) helemaal gelijk ! Met een rapport werkt het wel. Bedankt!
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan