Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Speichern als PDF und Drucken

Speichern als PDF und Drucken
22.02.2017 20:19:57
Tino
Guten Abend liebe Profis,
ich habe in den letzten Wochen immer wieder versucht ein Problem zu lösen und vermute das ich eine falsche Rangehensweise hatte. Nun möchte ich euch mein Ergebnis Schildern und hoffe auf eure bisher immer sehr hilfreichen Lösungen.
Ich schreibe Täglich ein Protokoll für meinen Chef und den Kunden.
Ich habe mir hierfür diverse Makros gebastelt:
Das ausführende Makro (Funktioniert)
Sub Start_Makro_Drucken_Speichern()
Speichern_unter_Kunde
Speichern_unter_Chef
Bericht_Drucken
End Sub
Drucken Makro (Funktioniert)
Sub Bericht_ Drucken ()
With Sheets("Dienstbericht")
ActiveSheet.PageSetup.PrintArea = "$JR$54:$KZ$99"
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = False
End With
End Sub

Speichern Unter PDF Makro (Funktioniert nicht)
Sub Speichern_unter_Chef()
Dim Speichern_Unter
Dim Pfad As String
Pfad = Sheets("Dienstbericht").Range("JR8")
If Dir(Pfad, vbDirectory) = "" Then MkDir Pfad
With Sheets("Dienstbericht")
.PageSetup.PrintArea = "$JR$54:$KZ$99"
Speichern_Unter = Application.GetSaveAsFilename _
(InitialFileName:=Pfad & .Range("JR9") & ".pdf", fileFilter:="PDF, *.pdf")
If Speichern_Unter  "" And Speichern_Unter  False Then
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Speichern_Unter
Else
MsgBox "Nichts gespeichert"
End If
End With
End Sub
Mein Ziel ist es das ein Makro einen Speichervorgang vollständig mit Pfad und Dateinamen aus Zelle abspeichert.
- Dateiformat ist immer PDF
- Dateiname bereits vorhanden! Überschreiben (Yes/No)
- Speichern Unter Abfrage ist nicht nötig.
- Abfrage hat ob das Pdf angezeigt werden soll (Yes/No)
- Pfad aus Zelle „JR8“
- Dateiname aus Zelle „JR9“
Beim Zweiten Speichervorgang ist die Abfrage dann nicht mehr nötig da es immer doppelt gespeichert wird, nur mit anderem Pfad.
- Pfad aus Zelle „JS8“
- Dateiname bleibt der selbe aus Zelle „JR9“
Wenn es Möglich ist die Speichervorgänge und das Drucken in ein Makro zu vereinen wäre das noch besser ist aber nicht Zwingend Notwendig.
Ich danke euch schon jetzt für eure Zeit und Gedanken!
Beste Grüße
Tino
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern als PDF und Drucken
23.02.2017 07:01:54
Tino
Guten Morgen Zusammen,
Nach dieser Nachtschicht kann ich mit Freuden Verkünden das ich eine Lösung habe. Könnte noch verbessert werden aber zumindest funktioniert sie und macht was sie soll.
Hier Meine Sub’s:
Sub PDF_Speichern_1 ()
Const DateiPfad = "C:\Temp\"
Dim DateiName As String
DateiName = DateiPfad & Range("JR8") & Range("JR9") & ".pdf"  ' Kunde + Rechnungsnr
Range("$JR$54:$KZ$99").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
DateiName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
End Sub

Sub Vorhanden()
If MsgBox("Wollen Sie wirklich speichern? Dateien der Vorgängerschicht könnten Gelöscht werden!! _
!", vbOKCancel, "Meldung1") = vbOK Then
PDF_Speichern_1
PDF_Speichern_2
Else
MsgBox "Dateien nicht Gespeichert"
End If
End Sub
Danke an alle die Versucht haben mir zu helfen!
Beste Grüße und schönen Tag
Tino
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Speichern als PDF und Drucken in Excel


Schritt-für-Schritt-Anleitung

Um ein Excel-Dokument als PDF zu speichern und zu drucken, kannst Du die folgenden Schritte befolgen:

  1. Makro erstellen: Öffne den VBA-Editor mit ALT + F11.

  2. Neues Modul einfügen: Rechtsklicke im Projektfenster auf "VBAProject (dein Dateiname)" und wähle "Einfügen" > "Modul".

  3. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub PDF_Speichern_Und_Drucken()
        Dim DateiPfad As String
        Dim DateiName As String
        DateiPfad = Sheets("Dienstbericht").Range("JR8").Value
        DateiName = Sheets("Dienstbericht").Range("JR9").Value & ".pdf"
    
        ' Prüfen, ob der Pfad existiert
        If Dir(DateiPfad, vbDirectory) = "" Then MkDir DateiPfad
    
        ' PDF speichern
        With Sheets("Dienstbericht")
            .PageSetup.PrintArea = "$JR$54:$KZ$99"
            .ExportAsFixedFormat Type:=xlTypePDF, Filename:=DateiPfad & DateiName, Quality:=xlQualityStandard
        End With
    
        ' PDF drucken
        If MsgBox("Möchten Sie das PDF jetzt drucken?", vbYesNo) = vbYes Then
            ActiveSheet.PrintOut
        End If
    End Sub
  4. Makro ausführen: Drücke F5, um das Makro auszuführen. Es wird das PDF gespeichert und Du hast die Möglichkeit, es direkt zu drucken.


Häufige Fehler und Lösungen

  • Fehler: "Excel als PDF speichern funktioniert nicht": Stelle sicher, dass der Pfad in der Zelle JR8 korrekt ist und dass Du die richtigen Berechtigungen zum Erstellen von Ordnern hast.

  • Fehler: PDF lässt sich nicht drucken, nur speichern: Überprüfe die Druckereinstellungen in Excel und stelle sicher, dass der richtige Drucker ausgewählt ist.


Alternative Methoden

Falls Du VBA nicht verwenden möchtest, kannst Du auch die integrierte "Speichern unter" Funktion von Excel nutzen:

  1. Gehe zu "Datei" > "Speichern unter".
  2. Wähle im Dropdown-Menü "PDF" als Dateiformat.
  3. Klicke auf "Speichern".

Das funktioniert gut, ist aber weniger automatisiert als ein Makro.


Praktische Beispiele

Hier sind einige Beispiele, wie Du die oben genannten Makros anpassen kannst:

  1. Drucken als PDF: Verwende den ActiveSheet.PrintOut Befehl, um die aktuelle Seite direkt zu drucken.
  2. Speichern mehrere Bereiche: Du kannst zusätzlich mehrere Bereiche in einem PDF speichern, indem Du mehrere ExportAsFixedFormat Aufrufe verwendest.

Tipps für Profis

  • Automatisierung: Verbinde das Speichern und Drucken in einem Makro, um Zeit zu sparen.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um unvorhergesehene Probleme während des Speichervorgangs zu behandeln.

    Beispiel für Fehlerbehandlung:

    On Error GoTo Fehler
    ' Dein Code hier
    Exit Sub
    Fehler:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Wie speichere ich eine Excel-Tabelle als PDF?
Du kannst die Funktion ExportAsFixedFormat verwenden, um eine Excel-Tabelle als PDF zu speichern.

2. Was mache ich, wenn Excel als PDF speichern nicht funktioniert?
Überprüfe die Zellreferenzen in Deinem Makro und stelle sicher, dass der angegebene Pfad existiert. Achte auch auf die Excel-Version, da einige Funktionen in älteren Versionen möglicherweise nicht verfügbar sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige