VBA - nur pdf drucken
#1
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.
Top
#2
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
Top
#3
(09.06.2018, 23: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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


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