HERBERS Excel-Forum - das Archiv

Thema: PDF per VBA ausgeben - Seitenskalierung

PDF per VBA ausgeben - Seitenskalierung
Schuster, Udo
Hallo zusammen,

ich habe folgenden Code zur Ausgabe mehrerer Excel-Tabellenblätter in ein PDF. Leider wird die 2te Seite immer viel zu klein dargestellt. Alle Seiten sollten auf A4 ausgegeben werden.
Die Seiten sind aber auch unterschiedlich groß und werden auf alle Spalten ausgeben skaliert.
Beim Suchen bin ich auf diese Aussage von Microsoft gestoßen. https://support.microsoft.com/de-de/topic/wenn-sie-ein-excel-arbeitsblatt-als-pdf-datei-exportieren-k%C3%B6nnen-sich-die-seitenma%C3%9Fe-%C3%A4ndern-f2f3182d-d8c1-4970-cfec-5d3827ed77f4
Leider stehe ich jetzt auf dem Schlauch und habe keinen Ansatz wie ich das umsetzen kann.
Ich hoffe hier einen Tipp zu bekommen.

Vielen Dank.

Anbei der Code
Private Sub cmd_PDF_Ausgabe_Click()

Dim strFilePath As String, arrSheets As Variant, sh As Variant
Dim Savedate As String
Dim Dateiname As String
Dim Pfad As String

Dateiname = Worksheets("Rohdaten").Cells(2, 3)
Savedate = Format(Date, "yyyymmdd")
Pfad = "C:\Users\" & Benutzer_vom_System & "\Desktop\" & Dateiname & "\" & " DE Risiko " & Savedate & ".pdf"

With Sheets("Risikobeurteilung")
strFilePath = Environ(Pfad)
arrSheets = Array("Risikobeurteilung", "Schlussbestimmung")
For Each sh In arrSheets
Sheets(sh).Select
Sheets(sh).UsedRange.Select
Next
Sheets(arrSheets).Select
Selection.ExportAsFixedFormat Filename:=strFilePath, Type:=xlTypePDF, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True

End With

Sheets("Risikobeurteilung").Select
Cells(5, 1).Select

End Sub


AW: PDF per VBA ausgeben - Seitenskalierung
Alwin Weisangler
Hallo Udo,
du musst natürlich den druckbereich festlegen.

Gruß Uwe
AW: PDF per VBA ausgeben - Seitenskalierung
Onur
Ob du druckst oder als PDF speicherst, ist Jacke wie Hose. Daher: Bearbeite deine Datei so, dass du alles wie gewünscht drucken kannst, dann klappt es auch mit der PDF.
AW: PDF per VBA ausgeben - Seitenskalierung
Onur
AW: PDF per VBA ausgeben - Seitenskalierung
Firmus
Hallo Udo,

in deinem Link zum Microsoftartikel steht m. E. ein klarer Hinweis zur Lösung.
"Ursache:
Das Problem besteht darin, dass die Anwendung beim Auswählen eines PostScript-Druckers als Standarddrucker für Excel die Größe des Arbeits Bogens nicht skaliert."


Dort wird auf die unterschiedliche Verarbeitungsart von PCL- und PS-Druckern hingewiesen.
PCL-Drucker (meist HP): Die Druckaufbereitung findet auf dem PC statt - meist Windowsrechner.
PS-Drucker (oft IBM): Die Druckaufbereitung findet im Drucker statt.

Prüfe doch mal deinen Standarddrucker, eventuell ist das zielführend.

Gruß,
Firmus
ps: Nach dem googlen und lesen zu dem Thema glaube ich hier (bisher) nicht an ein Excelproblem.
AW: PDF per VBA ausgeben - Seitenskalierung
Schuster, Udo
Hallo Uwe,

ist auf beiden Blättern eingerichtet.
Bewirkt aber immer das gleiche.
Die Seite mit weniger Inhalt ist mit dem selben Skalier Faktor wie die erste belegt.

Gruß Udo