Clever-Excel-Forum

Normale Version: Über Makro zum ausdrucken noch Druckparameter übergeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

über folgenden Teil eines Makros werden bestimmte Blätter aus einer Excel Tabelle ausgedruckt.

Code:
Dim k#
For k = 22 To 37
If Worksheets("Kunden").Cells(k, 13).Text = "x" Then _
  Sheets(Tabelle1.Cells(k, 12).Text).PrintOut
Next

Nun habe ich mir einen neuen Drucker zugelegt der auch in Farbe ausdrucken kann. Kann ich per Makro denn auch den Drucker festlegen und das er in Farbe ausdruckt ?

Gruß Daniel
Hallo Daniel,

richte dir im Druckmanager einen weiteren Drucker mit den passenden Einstellungen ein und verwende den mit

Code:
Application.ActivePrinter Druckername

in deinem Code.
Hallo Stefan,

Habe ich gerade probiert in den Code einzubauen und bin mal wieder gescheitert.

Also wenn ich

Code:
Sub Drucken()
Call ausblenden_BU
Call ausblenden_Arbeitnehmersparzulage
Call ausblenden_Wohnungsbauprämie
Call ausblenden_Investment
Call ausblenden_Du_Soldaten
Call ausblenden_Du_Soldaten_1
Call ausblenden_GF
Call ausblenden_EU

Application.ActivePrinter = "Farbdrucker(Home)"

Dim k#
For k = 22 To 37
If Worksheets("Kunden").Cells(k, 13).Text = "x" Then _
  Sheets(Tabelle1.Cells(k, 12).Text).PrintOut
 
Next
End Sub


eintrage erhalte ich eine Fehlermeldung


[attachment=17962]
Hallo Daniel,

vielleicht ist es besser, den Drucker direkt auszuwählen:

Ersetze
Application.ActivePrinter = "Farbdrucker(Home)"
durch
Application.Dialogs(xlDialogPrinterSetup).Show
Gruß Uwe
Danke, funktioniert. Kann den Drucker auswählen und ob in Farbe oder nicht, perfekt.

Danke
Kann man das verhindern, sprich das die Druckerabfrage auch kommt wenn als Standard ein PDF Drucker ausgewählt wurde?
Hallo Daniel,
If InStr(1, ActivePrinter, "PDF") = 0 Then
Application.Dialogs(xlDialogPrinterSetup).Show
End If
Gruß Uwe
Wie binde ich das in das bestehende Makro ein?


Code:
Sub Drucken()
Call ausblenden_BU
Call ausblenden_Arbeitnehmersparzulage
Call ausblenden_Wohnungsbauprämie
Call ausblenden_Investment
Call ausblenden_Du_Soldaten
Call ausblenden_Du_Soldaten_1
Call ausblenden_GF
Call ausblenden_EU


Dim k#
For k = 22 To 37
If Worksheets("Kunden").Cells(k, 13).Text = "x" Then _
  Sheets(Tabelle1.Cells(k, 12).Text).PrintOut
Next

End Sub
Hallo Daniel,

Du solltest erst eine Codezeile ersetzen - siehe Dein erstes Posting mit der betreffenden Codezeile. Im Letzten Posting hast Du diese Codezeile bzw. die ersetzte ganz raus genommen. Dort sollte eigentlich der erweiterte Code von Uwe rein. Du siehst doch auch, das Uwe seine ursprüngliche Codezeile nur mit zwei andere Codezeilen erweitert hat ...
Servus, ja das habe ich auch erst getan, hat aber nicht funktioniert.

Nun habe ich den Fehler aber gefunden. Mein PDF Drucker heisst Nuance PDF.

Bei der Prüfung durch das Makro "If InStr(1, ActivePrinter" wird in der Variable aber "Nuance PDF auf NUL" angezeigt. Das hat auch nicht funktioniert. Wenn ich aber nach

If InStr(1, ActivePrinter, "Nuance PDF auf 0") = 0 Then suchen lasse geht es.

Danke euch