Registriert seit: 28.05.2017
Version(en): 365
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ß
Registriert seit: 28.05.2017
Version(en): 365
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?
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
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.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
könnte sein, dass Du nur die Druckerauswahl abbrichst und nicht den Druck

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-2019+365)
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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

(die zweite, "eventuelle" Variante)
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)