Excel PDF mit unterschiedlichen Seiten ränder
#1
Hallo zusammen,

ich habe einen VBA-Code geschrieben um eine Pdf Datei durch Button zu speichern. wie ist es im Code zu sehen es werden unterschiedlichen Seitenränder benötigt. Einmal wenn D15="SET" und einaml wenn D15="EINS". Das mit dem Speichern klappt gut, leider die Seitenränder sind entsprechen nicht die eingegebenen Werten im Code. 

Ich hoffe ich habe das Problem soweit gut erklärt.

Danke im Voraus für eure Vorschläge.




Zitat:
Code:
Private Sub CommandButton3_Click()

Dim xlNewFileName As String
Dim PageSetup As String

Rem Pfad und Name für PDF-Datei
xlNewFileName = "\\Emea.fag.com\Komponenten\Optimierung\" & Left(ThisWorkbook.Name, InStr(1, ThisWorkbook.Name, ".") - 1) & ".pdf"

Rem PDF-Datei erstellen
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xlNewFileName, _
                                Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                                IgnorePrintAreas:=False, OpenAfterPublish:=False
                               
ActiveSheet.PageSetup.PrintArea = "A:I"
ActiveSheet.PageSetup.PrintTitleRows = "$1:$18"
If Range("D15").Value = "SET" Then
    With ActiveSheet.PageSetup
        .LeftMargin = Application.InchesToPoints(0.31496062992126)
        .RightMargin = Application.InchesToPoints(0.31496062992126)
        .TopMargin = Application.InchesToPoints(0.78740157480315)
        .BottomMargin = Application.InchesToPoints(0.78740157480315)
        End With
        End If

If Range("D15").Value = "EINS" Then
    With ActiveSheet.PageSetup
        .LeftMargin = Application.InchesToPoints(0.6)
        .RightMargin = Application.InchesToPoints(0.6)
        .TopMargin = Application.InchesToPoints(1)
        .BottomMargin = Application.InchesToPoints(14)
        End With
     End If
End sub
Antworten Top
#2
Hallo,

du speicherst das Blatt erst als PDF und danach änderst du die Seitenränder deines Excel-Blattes.

Wie sollen dann die geänderten  Seitenränder in der PDF sein? Die ist doch schon gespeichert.

Also andersrum: Erst Seitenränder ändern, dann als PDF speichern.

Gruß Werner
Antworten Top
#3
Dankeschön für die schnelle Antwort.

Ich mache es normalerweise genau so wie du es meinst. Ich habe mir aber gedacht, es wäre mit dem Code einfacher und ich muss nicht jedes Mal die Seitenränder manuell ändern.

VG
Yonas
Antworten Top
#4
Hallo,

dann mach das doch mit dem Code.

Aber erst die Seitenränder ändern und danach erst als PDF speichern.

Gruß Werner
Antworten Top
#5
Ich habe mein Fehler gefunden und zwar die Maßen, die in VBA eingegeben wurden entsprechen nicht die Maßen die man manuell eingibt. z.B. für den Seitenrand unten geben ich 5,6 statt 14 und dann passt.

Dies habe ich durch Makro Aufzeichnung herausgefunden.

VG
Yonas
Antworten Top


Gehe zu:


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