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

Forumthread: Mehrere Dateien in PDF speichern VBA

Mehrere Dateien in PDF speichern VBA
09.03.2017 15:30:31
Philipp
Hallo zusammen,
ich habe mehrere (50+) Dateien in einem Ordner liegen und moechte alle in einzelne PDF-Dateien abspeichern. HAt da jemand eine Loesung fuer mich?
Vielen Dank fuer Eure Hilfe!
VG Philipp
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Dateien in PDF speichern VBA
09.03.2017 15:48:41
Herbert
Hallo Philipp,
wäre es ein für Dich machbarer Weg, zuerst ein Tabellenblatt zu erstellen, dort die im Gewünschten Verzeichnis vorhandenen Dateien aufzulisten, diese dann der Reihe nach aufzurufen und als pdf zu speichern und wieder zu schließen? Das Tabellenblatt wird dann wieder gelöscht. Wenn ja, gib mir kurz bescheid, dann bastle ich Dir das zusammen.
Servus
Anzeige
AW: Mehrere Dateien in PDF speichern VBA
09.03.2017 15:52:19
Philipp
hi,
schonmal danke fuer deine Hilfe. Ich nehme an die Dateien muessen per Hand in das Tabellenblatt eingefuegt werden oder warden diese eingelesen?
AW: Mehrere Dateien in PDF speichern VBA
09.03.2017 15:54:54
Herbert
Warum nimmst Du an, dass die Dateien per Hand eingefügt werden müssen?
AW: Mehrere Dateien in PDF speichern VBA
09.03.2017 15:57:29
Philipp
Ich habe kaum Kenntisse in Vba war nur eine Vermutung. Waere cool wenn du mir da etwas basteln koenntest! :)
Anzeige
AW: Mehrere Dateien in PDF speichern VBA
09.03.2017 16:16:28
Herbert
Sind in den Dateien mehrere Tabellenblätter oder nur je eines?
AW: Mehrere Dateien in PDF speichern VBA
09.03.2017 16:21:39
Philipp
Je nur eines
AW: Mehrere Dateien in PDF speichern VBA
09.03.2017 16:51:21
Herbert
Hallo Philipp,
probier's mal damit:
Den Code in ein StandardModul ("Modul1" etc.) kopieren und den Pfad ("D:\xxx") anpassen.
Option Explicit
Option Compare Text
Private lRowCounter As Long
Private oSheet As Object
Const sRootPath As String = "D:\xxx" '* Pfad bitte anpassen ohne "\" am Ende!!!
Sub DateienAusVerzeichnis_Auflisten()
Dim sWorkBookName$, vFile As Variant, sPath$, iLastRow%, iRowsCount%, sFileName$
On Error GoTo ende
Application.EnableEvents = False
Application.ScreenUpdating = False
Sheets.Add
ActiveSheet.Name = "TabelleZwi"
Set oSheet = Sheets("TabelleZwi")
oSheet.Activate
oSheet.Cells(1, 1).Select
lRowCounter = 1
Call ReadFolder(sRootPath)
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
For iRowsCount = 1 To iLastRow
sFileName = Cells(iRowsCount, 1).Value
sFileName = sRootPath & "\" & sFileName
Workbooks.Open sFileName
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
sFileName & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ActiveWorkbook.Close savechanges:=False
Next
Application.DisplayAlerts = False
oSheet.Delete
Application.DisplayAlerts = True
ende:
Set oSheet = Nothing
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Sub ReadFolder(ByVal sPath As String)
Dim oFSO As Object, oFolder As Object, oFile As Object
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.getfolder(sPath)
With oSheet
'* Alle Dateien/Files auflisten
For Each oFile In oFolder.Files
If VBA.Left(oFile.Name, 1)  "~" Then .Cells(lRowCounter, 1) = oFile.Name
lRowCounter = lRowCounter + 1
Next oFile
End With
Set oFSO = Nothing
Set oFile = Nothing
Set oFolder = Nothing
End Sub
Nicht vergessen, den Pfad, ganz oben ("D:\xxx"), anpassen!!!
Servus
Anzeige
AW: Mehrere Dateien in PDF speichern VBA
09.03.2017 16:59:05
Philipp
Perfekt, genau so wollte ich es haben! Danke dir :)
AW: Gern geschehen! owt
09.03.2017 17:00:19
Herbert
,,
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Excel-Dateien in PDF umwandeln mit VBA


Schritt-für-Schritt-Anleitung

Um mehrere Excel-Dateien in PDF umzuwandeln, kannst Du ein einfaches VBA-Skript verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Kopiere den folgenden Code in das Modul:

    Option Explicit
    Option Compare Text
    Private lRowCounter As Long
    Private oSheet As Object
    Const sRootPath As String = "D:\xxx" '* Pfad bitte anpassen ohne "\" am Ende!!!
    
    Sub DateienAusVerzeichnis_Auflisten()
       Dim sFileName$
       On Error GoTo ende
       Application.EnableEvents = False
       Application.ScreenUpdating = False
       Sheets.Add
       ActiveSheet.Name = "TabelleZwi"
       Set oSheet = Sheets("TabelleZwi")
       oSheet.Activate
       lRowCounter = 1
       Call ReadFolder(sRootPath)
       For iRowsCount = 1 To lRowCounter - 1
           sFileName = oSheet.Cells(iRowsCount, 1).Value
           Workbooks.Open sRootPath & "\" & sFileName
           ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
           sRootPath & "\" & sFileName & ".pdf", Quality:=xlQualityStandard, _
           IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
           ActiveWorkbook.Close savechanges:=False
       Next
       Application.DisplayAlerts = False
       oSheet.Delete
       Application.DisplayAlerts = True
    ende:
       Set oSheet = Nothing
       Application.ScreenUpdating = True
       Application.EnableEvents = True
    End Sub
    
    Sub ReadFolder(ByVal sPath As String)
       Dim oFSO As Object, oFolder As Object, oFile As Object
       Set oFSO = CreateObject("Scripting.FileSystemObject")
       Set oFolder = oFSO.getfolder(sPath)
       With oSheet
           For Each oFile In oFolder.Files
               If VBA.Left(oFile.Name, 1) <> "~" Then .Cells(lRowCounter, 1) = oFile.Name
               lRowCounter = lRowCounter + 1
           Next oFile
       End With
    End Sub
  4. Passe den Pfad (sRootPath) im Code an, damit er auf den Ordner zeigt, in dem Deine Excel-Dateien gespeichert sind.

  5. Führe das Skript aus, indem Du F5 drückst oder im Menü Ausführen wählst.

Das Skript wird alle Excel-Dateien im angegebenen Ordner öffnen und sie als PDF speichern.


Häufige Fehler und Lösungen

  • Fehler: "Dateipfad nicht gefunden"

    • Stelle sicher, dass der angegebene Pfad korrekt ist und dass Du die richtigen Berechtigungen hast.
  • Fehler: "Datei kann nicht geöffnet werden"

    • Überprüfe, ob die Dateien nicht bereits geöffnet sind oder ob sie in einem anderen Format vorliegen.
  • Fehler: "VBA-Fehler"

    • Achte darauf, dass alle benötigten Dateien im angegebenen Ordner vorhanden sind.

Alternative Methoden

Falls Du kein VBA verwenden möchtest, gibt es auch andere Möglichkeiten, mehrere Dateien in eine PDF umzuwandeln:

  1. Excel-Funktion "Drucken":

    • Wähle mehrere Excel-Blätter aus, drücke Strg + P und wähle "Microsoft Print to PDF".
    • Dies funktioniert jedoch nur, wenn Du die Blätter manuell auswählst.
  2. Drittanbieter-Software:

    • Nutze Software wie Adobe Acrobat oder PDFCreator, um mehrere Dateien in eine PDF zu konvertieren.

Praktische Beispiele

Nehmen wir an, Du hast einen Ordner mit 50 Excel-Dateien. Mit dem oben genannten VBA-Skript kannst Du diese Dateien in einem Rutsch in PDF umwandeln.

Wenn Du eine Excel-Datei mit mehreren Reitern hast, kannst Du die Funktion ActiveWorkbook.ExportAsFixedFormat anpassen, um nur bestimmte Reiter zu exportieren.


Tipps für Profis

  • Batch-Verarbeitung: Du kannst das Skript erweitern, um auch Unterordner zu durchsuchen, falls Deine Dateien dort gespeichert sind.
  • Fehlerprotokollierung: Füge eine Fehlerbehandlung hinzu, um fehlgeschlagene Konvertierungen zu protokollieren.
  • Benutzerdefinierte Dateinamen: Passe den Dateinamen in der Exportzeile an, um spezifische Informationen zu integrieren.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Excel-Dateien in PDF umwandeln, ohne VBA zu verwenden?
Du kannst die integrierte Druckfunktion in Excel verwenden oder Software von Drittanbietern nutzen.

2. Ist es möglich, mehrere Excel-Tabellenblätter in einer PDF zu speichern?
Ja, Du kannst mehrere Tabellenblätter in einer Datei speichern, indem Du diese vorher auswählst und dann druckst.

3. Funktioniert das Skript in allen Excel-Versionen?
Das Skript sollte in Excel 2010 und neueren Versionen funktionieren. Achte darauf, dass du die Makros aktiviert hast.

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