Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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.
Antworten 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
Antworten Top
#3
(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
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)
Antworten 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)
Antworten Top


Gehe zu:


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