PDF Druck per Makro
#1
Hallo zusammen

Im angehängten Dokument möchte ich folgendes per Makro tun können:
Schaltfläche Pdf erstellen (alle): Erstellt ein PDF mit den weissen Bereichen aus Schreiben, Programm und Rechnung (aneinander).
Habe eine Formel, aber die Druckränder übernimmt er nicht richtig. Es soll l 0.6 r0.6 o1.2 u1.8 sein, ausserdem der Druckbereich "weisser Bereich", wie kriege ich das hin?

Schaltfläche Pdf erstellen: Eigentlich das gleiche wie oben, aber eben nur die aktuelle Seite...

Wäre sehr dankbar über Tipps/Änderungen im Dok Smile

Lg Hawkeye


Angehängte Dateien
.xlsm   Vorlage Offerte & Rechnung.xlsm (Größe: 162,61 KB / Downloads: 8)
Antworten Top
#2
Hi,

(22.12.2016, 23:39)Hawkeye schrieb: Im angehängten Dokument möchte ich folgendes per Makro tun können:
Schaltfläche Pdf erstellen (alle): Erstellt ein PDF mit den weissen Bereichen aus Schreiben, Programm und Rechnung (aneinander).
Habe eine Formel, aber die Druckränder übernimmt er nicht richtig. Es soll l 0.6 r0.6 o1.2 u1.8 sein, ausserdem der Druckbereich "weisser Bereich", wie kriege ich das hin?

Schaltfläche Pdf erstellen: Eigentlich das gleiche wie oben, aber eben nur die aktuelle Seite...

Teil 2:
Mit disem Makro speicherst Du den übergebenen Bereich als PDF in einem Verzeichnis ab:
Option Explicit

Sub PDF_Einzelseite()
   Dim strPfadDateiExport As String
    AWS As String
   
   'PDF freigegeben abspeichern 
   With ActiveWorkbook.ActiveSheet.Range("A3:M77")          'Bereich anpassen 
      'Definition des Datei-/Blattnamens, Pfad und Name, usw. anpassen! 
      'in E18 steht die Kundennummer 
      strPfadDateiExport = ThisWorkbook.Path & "\Freigabe\" & Format(Date, "yyyy-mm-dd") & " - " & ActiveSheet.Range("E18")
      AWS = strPfadDateiExport & " - Freigabe.pdf"
      .ExportAsFixedFormat 0, AWS
   End With
End Sub

Teil 1:
Wenn Du Dir nun ein Zusammenstellungsblatt erstellst, auf dem Du per Kamera-Funktion von allen Seiten den zu druckenden Bereich einfügst, kannst Du mit demselben Makro dann die drei Seiten auf einem Blatt oder auf drei Blätter verteilt als PDF speichern.
Antworten Top
#3
Danke für den Tipp Smile

Aber eigentlich würde ich gerne den Code verwenden, welchen ich schon beim Button Pdf für all Seiten erstellen habe. Er müsste mohl nur noch etwas angepasst werden, damit die Bereiche stimmen, ansonsten funktioniert er ja super.

Dein Code gibt mir "Dspan> AWS As String" einen Fehler aus. Kenne mich leider zu wenig mit VBA (eigentlich gar nicht) aus um das zu eliminieren.

Auf der Seite EV_Schreiben ist der Code mit dem Command Button verknüpft. Wenn jemand das zum laufen bringen würde und direkt ändern könnte wäre das super Smile
Also Einzelspeichern von PDF und alle zusammen...
Antworten Top
#4
Hallo zusammen

Also ich habe nochmals viel daran gearbeitet, jetzt fehlt nur noch das Druckmakro.
Nochmals zu Erläuterung:

Pdf erstellen (alle):
Erstellt ein PDF mit dem weissen Bereich aus: EV_Schreiben, EV_Programm; EV_Rechnung

Pdf erstellen:
Erstellt ein PDF der aktuellen Seite (auch weisser Bereich)

Wichtig:
Z.T. werden Spalten ausgeblendet, dadurch wird der weisse Bereich weniger hoch. Er sollte aber immer oben auf der Seite sein (Logo oben). Eine allfällig eingefügte Fusszeile sollte aber dann zuunterst sein.

Im Anhang das neue Dokument. Wäre sehr dankbar wenn das jemand anpassen könnte, komme nicht weiter...

Vielen Dank im Voraus Smile


Angehängte Dateien
.xlsm   Vorlage Offerte & Rechnung.xlsm (Größe: 621,76 KB / Downloads: 6)
Antworten Top
#5
(24.12.2016, 18:41)Hawkeye schrieb: Dein Code gibt mir "Dspan> AWS As String" einen Fehler aus. Kenne mich leider zu wenig mit VBA (eigentlich gar nicht) aus um das zu eliminieren.

das Dspan> ist fehlerhaft reingekommen, weiß nicht, warum.
Also löschen. Habe es oben korrigiert.
Antworten Top
#6
Hallo Rabe

Vielen Dank, aber ich kriege es nicht zum laufen. Kannst DU den Code eventuell in die Excel Datei beim richtigen Command Button einfügen?
Wie ich das für alle drei Seiten machen muss (Kamera funktion???) ist mir auch schleierhaft Wink

Gruss Hawkeye
Antworten Top
#7
Min!
Du solltest zunächst die weißen Bereiche jeweils manuell als Druckbereich festlegen:
markieren, Seitenlayout, Druckbereich, festlegen

Dann kopierst Du das Sheet-Array in eine neue Mappe, die Du als PDF exportierst.
Ich schreibe gleich mal ein Beispielmakro für letzteres.

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
#8
Zusätzlich die jeweiligen Seiten manuell auf Darstellung auf einer Seite skalieren, dann:
Sub RPP()
Worksheets(Array("EV_Schreiben", "EV_Programm", "EV_Rechnung")).Copy
With ActiveWorkbook
   .ExportAsFixedFormat _
      xlTypePDF, Environ("UserProfile") & "\Desktop\MeinePDF", OpenAfterPublish:=True
   .Close False
End With
End Sub

Speichert "MeinePdf.Pdf" auf Deinem Dektop und öffnet Dein PDF-Programm mit der Datei.
Willst Du letzteres nicht dann lasse , OpenAfterPublish:=True weg.

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


Gehe zu:


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