Drucker von Duplex auf Einzelseitendruck umstellen

13/02/2010 - 18:57 von Carsten | Report spam
Hallo,
ich habe einen duplexfàhigen Drucker (Brother HL-5340D), mit dem ich aber
bei Einzelseiten die Duplexeinheit nicht belasten will.
Ich habe dafür folgenden Makro:
Sub EinzelSeitenDrucken()
'
ActivePrinter = "Brother HL-5340D Simplex"
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="",
PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True,
PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
ActivePrinter = "Brother HL-5340D Duplex"
End Sub
Das funktioniert, hat aber einen Haken: der Computer (ein Core i5 750, 2MB
RAM)braucht eeeewig bis die Seite gedruckt wird. Benutze ich den
Duplex-(Standard)-Drucker beginnt der Druck sofort. Kann man da etwas àndern?
Für Vorschlàge bin ich wie immer empfànglich :-)
BS: WIN XP mit allen Updates und SPs
MfG Carsten
 

Lesen sie die antworten

#1 Dr. Friedrich Höglmeier
14/02/2010 - 17:48 | Warnen spam
Hallo Carsten,

das ist relativ einfach zu erreichen, wenn für jeden Computer, der auf
diesen Drucker zugreifen soll, der Drucker(treiber) zweimal
installiert wird: Einmal mit der Einstellung Duplexdruck (in meinem
Beispiel Kyocera FS-1800 D) und einmal für einseitigen Druck (in
meinem Beispiel Kyocera FS-1800), wobei hier der Duplexdruck
ausgeschaltet wird.
Dann kannst Du entweder zwei Icons in die Symbolleiste aufnehmen, die
dem jeweiligen Druckertreiber zugeordnet sind oder ein Icon, dem das
folgende VBA-Makro zugeordnet ist:

Sub DruckKyocera()
'
' Druckt einseitig auf FS-1800, mehrseitig auf FS-1800 D
'
' vorher eingestellten Drucker speichern:
Dim strPrinterOld As String
strPrinterOld = Application.ActivePrinter

' Wahl des Druckertreibers je nach Seitenzahl:
If ActiveDocument.ComputeStatistics(wdStatisticPages) = 1 Then
Application.ActivePrinter = "Kyocera FS-1800"
Else
Application.ActivePrinter = "Kyocera FS-1800 D"
End If

' Ausdruck (mit einer Vielzahl von optionalen Parametern)
Application.PrintOut

' Drucker wieder zurücksetzen
Application.ActivePrinter = strPrinterOld

End Sub

Makro einfach kopieren und die Druckernamen entsprechend den
Druckernamen in der Systemsteuerung wàhlen.



Gruß
hoe = Friedrich Höglmeier
Etwaige Tippfehler dürfen ignoriert werden!

Ähnliche fragen