Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA - Drucken mit Druckerauswahl
#1
Hi Leute,

ich habe eine Userform, die zum Auswählen von Druckoptionen dient. Gibt es eine Möglichkeit, relativ unkompliziert eine Combobox mit den installierten Druckern zu bestücken? Bzw gibt es die Möglichkeit nach dem Öffnen von


PHP-Code:
Application.Dialogs(xlDialogPrint).Show 


nur den ausgewählten Drucker zu übernehmen und den Druckbereich selber festzulegen?

Im Prinzip will ich, dass der User einen Drucker auswählt und danach dann drei verschiedene Druckaufträge mit genau diesem Drucker ausgeführt werden.



Gruß
Antwortento top
#2
Ich habe nun folgenden Code im Internet gefunden:


Code:
Application.Dialogs(xlDialogPrinterSetup).Show
ThisWorkbook.Sheets(Blattname).PrintOut
Application.ActivePrinter = strPrinterName


Allerdings druckt er in jedem Fall, auch wenn ich im aufploppenden Druckermenü auf Abbrechen drücke ... wie verhindere ich das?
Antwortento top
#3
Hallo,

Zitat:Allerdings druckt er in jedem Fall, auch wenn ich im aufploppenden Druckermenü auf Abbrechen drücke ... wie verhindere ich das?

rein gefühlsmäßig würde ich mal sagen, die C64-Zeiten mit den zeilenweisen Druckern sind vorbei.
Heute werden die Daten in den Druckerspeicher eingelesen und in der Gesamtheit ausgedruckt.
Das bedeutet aber auch, daß der Drucker schneller druckt, als Du auf abbrechen klicken kannst.
Zusätzlich muß der Druckerpuffer ja auch wieder geleert werden.
Aber wie gesagt, das ist eine rein gefühlsmäßige Meinung.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antwortento top
#4
Hallöchen,

könnte sein, dass Du nur die Druckerauswahl abbrichst und nicht den Druck Sad
Nimm mal eine zusätzliche MsgBox mit OK und Abbrechen rein. Im Prinzip

If Msgbox("Wollen Sie drucken?", vbokcancel) = vbcancel Then Exit Sub


Eventuell geht's auch so:
If Application.Dialogs(xlDialogPrinterSetup).Show = True Then _
ActiveWindow.SelectedSheets.PrintOut
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#5
Hallo easy,

also mal komplett als Beispiel:
Sub aaa()
Dim strPrinterName As String
strPrinterName = ActivePrinter
If Application.Dialogs(xlDialogPrinterSetup).Show Then
Sheets(Blattname).PrintOut
ActivePrinter = strPrinterName
End If
End Sub
Gruß Uwe
Antwortento top
#6
Hallöchen,

mal noch ein Hinweis zu Uwe's Code. Mit diesem wird der vor einem Wechsel aktive Drucker wieder aktiv gesetzt. Falls das nicht gewünscht ist, einfach die entsprechenden Zeilen weglassen, einschl. Dim ... Oder eben nur mein kurzer ins Sub Smile (die zweite, "eventuelle" Variante)
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste