Clever-Excel-Forum

Normale Version: VBA - nur pdf drucken
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Abend,

ich habe folgenden Code im VBA verwendet:

Sub Drucken_Test()
ActiveSheet.Unprotect Password:="tool"
Dim rngUnsichtbar As Range
ActiveSheet.PageSetup.PrintArea = "$A$1:$E$27"
Set rngUnsichtbar = Range("$D$6:$E$26")
rngUnsichtbar.NumberFormat = "X"
ActiveWindow.SelectedSheets.PrintOut
rngUnsichtbar.NumberFormat = "General"
ActiveSheet.PageSetup.PrintArea = "$A$1:$E$47"
Range("A1").Select
ActiveSheet.Protect Password:="tool"
End Sub

Dieser Code sendet automatisch einen Auftrag an den Drucker und erstellt einen PDF. Wie kann ich den Code abändern, dass nur ein PDF (der Umwelt zuliebe) erstellt wird?

Danke im Voraus für eure Tips.
Hallo,

ersetze die Zeile
ActiveWindow.SelectedSheets.PrintOut
mit (Filename entsprechend angepasst)
    ActiveSheet.ExportAsFixedFormat _
     Type:=xlTypePDF, _
     Filename:="C:\Users\Uwe\Documents\Excel\Mappe1.pdf", _
     Quality:=xlQualityStandard, _
     IncludeDocProperties:=True, _
     IgnorePrintAreas:=False, _
     OpenAfterPublish:=True
Gruß Uwe
(09.06.2018, 22:56)SinnDesLebens schrieb: [ -> ]Dieser Code sendet automatisch einen Auftrag an den Drucker und erstellt einen PDF. Wie kann ich den Code abändern, dass nur ein PDF (der Umwelt zuliebe) erstellt wird?

Moin!
Dein Code sendet einen Druckauftrag an den ActivePrinter, den Du offensichtlich vorher manuell auf PDF umgestellt hast.
Ich verstehe Deine Frage so, dass offensichtlich ein Druckauftrag aus mehreren Seiten besteht, Du aber auf eine Seite verdichten willst..
Um die Problematik genau zu verstehen, wäre wohl eine anonymisierte .xlsx notwendig.
.xlsx, weil wir den Code ohnehin überarbeiten würden.
Wichtig ist aber, dass nichts an Spaltenbreiten, Zeilenhöhen und am benutzten Bereich (UsedRange) verändert wird.

Ist übrigens eine gute Idee, "geheime" Werte temporär durch das Zahlenformat "x" zu verbergen!

Gruß Ralf
Hallöchen,

ich kann mir eher nicht vorstellen, dass der zuerst gepostete Code zwei Druckaufträge an unterschiedliche Ziele sendet.
Vielleicht gibt es in DieseArbeitsmappe noch ein "geheimes" Ereignis Smile