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

Forumthread: Aus Excel mittels VBA PDF-Dateien umbene

Aus Excel mittels VBA PDF-Dateien umbene
17.09.2021 09:34:53
Heinz
Hallo zusammen,
ich suche eine Excel VBA Lösung für folgendes Problem.
Unten steht ein Beispiel meiner Tabelle und ein Pfad mit Dateien.
Ich würde gerne einen Button auf der Tabelle platzieren der den
Code auslöst um untenstehendes zu erreichen.
Hier ist meine Beispieltabelle
https://www.herber.de/bbs/user/148118.xlsx
In dem Ordner E:\PDF Dateien liegen 3 PDF Dateien. zBsp.
124578_Datei1.pdf
879221_Datei2.pdf
121212_Datei3.PDF
Ich möchte die Dateien per VBA umbenennen unter Beibehaltung der vorangestellten bestehendenNummer, ergänzt um den Text wie er in der Spalte „Neuer Datei Name“ steht.
(die 4. Spalte entsteht durch die Verketten Funktion aus den ersten drei Spalten,
wenn man das umgehen kann, also direkt mit VBA, wäre das natürlich optimal aber nicht zwingend nötig)
Die 3 Dateien sollen danach so umbenannt sein.
124578_61.21_123456_GMA.pdf
879221_101.21_10124589548_Schmidt.pdf
121212_15.21_1624_VTG.pdf
Ich habe da verschiedene Ansätze versucht aber meine VBA Kenntnisse reichen dazu
leider nicht aus.
Ich habe es auch mit „Power Automate Desktop“ versucht, damit bekomme ich es auch nicht hin.
Falls mir da jemand helfen kann wäre ich für jeden Tip/Code dankbar.
mit freundlichen Grüßen
Heinz
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus Excel mittels VBA PDF-Dateien umbene
17.09.2021 10:01:15
ChrisL
Hi Heinz
124578_Datei1.pdf
zu
124578_61.21_123456_GMA.pdf
Info im Excel:
GMA / 61.21 / 123456
Woher soll das Programm wissen, welche Datei zu welcher Info in der Datei gehört? Die Info 124578, welche als Schlüssel dienen könnte, ist in der Excel-Datei nicht vorhanden. Der Schlüssel muss eindeutig sein.
cu
Chris
Anzeige
AW: Aus Excel mittels VBA PDF-Dateien umbene
17.09.2021 10:26:54
Heinz
Hi Chris,
die erste Excel Zeile ist für die erste Datei im Verzeichnis,
die zweite Zeile ist für die zweite Datei usw......
Es sind mehrere Zeilen und mehrere Dateien, so jeweils 30-40 Stück
AW: Aus Excel mittels VBA PDF-Dateien umbene
17.09.2021 11:17:41
ChrisL
Hi
Der Befehl Dir() würde die Dateinamen eines Folders auslesen. Anscheinend werden die Namen damit aber nicht in einer bestimmten Reihenfolge gelesen/ausgegeben.
Wenn du eine Sortierung (z.B. alphabethisch oder nach Datum) verwendest, hast du eine Chance für eine Übereinstimmung. Ein Restrisiko bleibt infolge unterschiedlicher Sortiermethoden.
Aber ganz ohne Sortierung wird das m.E. nichts. Die Chance dass die Reihenfolge durcheinander kommt scheint mir zu gross und das Chaos wäre perfekt.
Selbst eine Sortierung wäre mir persönlich zu wackelig und ich würde unter allen Umständen einen eindeutigen Schlüssel (z.B. ID-Nummer) anstreben. Eine fehlerhaft ausgeführte Stapelverarbeitung lässt sich nur mit grossem manuellem Aufwand (oder Backup) wieder rückgängig machen.
cu
Chris
Anzeige
AW: Aus Excel mittels VBA PDF-Dateien umbene
17.09.2021 13:58:39
Fennek
Hallo,
ungeprüft:
mit dir(Pfad & "12345678*.pdf") sollte man einzelne Dateien nach Namensbestandteilen auswählen können.
Die Zahl "123..." sollte mit dem Inhalt der Zelle gebildet werden.
mfg
AW: Aus Excel mittels VBA PDF-Dateien umbene
17.09.2021 17:17:31
Heinz
Hallo zusammen,
ich habe die Fragestellung etwas geändert.
ich benötige jezt nicht mehr die Beibehaltung der alten
Dateinamensbestandteile sondern eine komplette Änderung der Dateinamen.
Die Beispieltabelle habe ich entsprechend angepasst.
ich suche eine Excel VBA Lösung für folgendes Problem.
Unten steht ein Beispiel meiner Tabelle und ein Pfad mit Dateien.
Ich würde gerne einen Button auf der Tabelle platzieren der den
Code auslöst um untenstehendes zu erreichen.
Hier ist meine Beispieltabelle
https://www.herber.de/bbs/user/148127.xlsx
In dem Ordner E:\PDF Dateien liegen 3 PDF Dateien. zBsp.
124578_Datei1.pdf
879221_Datei2.pdf
121212_Datei3.PDF
Ich möchte die Dateien per VBA umbenennen mit Namen aus der Spalte „Neuer Datei Name“.
Der komplette alte Namen entfällt und wird durch den neuen ersetzt.
Das sollte dann so aussehen.
61.21_123456_GMA.pdf
101.21_10124589548_Schmidt.pdf
115.21_1624_VTG.pdf
die erste Zeile der Tabelle ergibt den Namen für die erste Datei im Ordner usw.
Die Dateien im Ordner sind so sortiert wie sie in der Tabelle stehen,
da sollte eigentlich nix verrutschen.
Ich benötige einen Code der die ganze Tabelle "abarbeitet" bis alle Dateien umbenannt sind.
mit freundlichen Grüßen
Heinz
Anzeige
AW: Aus Excel mittels VBA PDF-Dateien umbene
18.09.2021 21:03:47
Oberschlumpf
Hi Heinz,
so wird das nix.
In der Tabelle muss der alte Dateiname enthalten sein - genau in der Zeile, in der auch der neue Dateiname für den alten steht.
Dann kann man mit DIR() jede Datei des Wunschordners auslesen, den alten, noch gültigen Dateinamen in der Tabelle suchen und diesen dann durch den neuen Namen in der gleichen Zeile umändern.
Bitte Bsp-Datei mit auch altem Dateinamen zeigen.
Ciao
Thorsten
Anzeige
AW: Aus Excel mittels VBA PDF-Dateien umbene
18.09.2021 21:07:07
Oberschlumpf
hmm...
das Auslesen des alten Dateinamens und Einfügen in Tabelle is nich das Problem.
allerdings weiß ich auch gerade nicht, wie man Excel/dem Code "beibringen" kann, welcher alte Name umgeändert werden soll in den neuen...
AW: Aus Excel mittels VBA PDF-Dateien umbene
22.09.2021 22:34:38
Piet
Hallo
probier bitte mal ob diese kleine Datei dir weiterhilft. Das Makro ist extrem einfach geschrieben.
Mit dem ersten Button kannst du einen Ordner auflisten, mit dfem 2. Button alle Dateien kopieren.
In der Spalte D kannst du die Dateien beliebig von Hand ändern. Der 3. Button benennt die Dateien um.
https://www.herber.de/bbs/user/148214.xlsm
mfg Piet
Anzeige
;

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

VBA zum Umbenennen von PDF-Dateien aus Excel


Schritt-für-Schritt-Anleitung

Um PDF-Dateien aus Excel mit VBA umzubenennen, gehe wie folgt vor:

  1. Öffne die Excel-Datei mit deiner Beispieltabelle. Stelle sicher, dass die Spalte "Neuer Datei Name" die neuen Namen für die PDFs enthält.
  2. Erstelle einen Button auf der Tabelle:
    • Gehe zu "Entwicklertools" und klicke auf "Einfügen".
    • Wähle das Button-Steuerelement aus und platziere es auf deiner Tabelle.
  3. Füge den VBA-Code ein:
    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Füge ein neues Modul hinzu (Einfügen > Modul) und kopiere folgenden Code hinein:
Sub RenamePDFs()
    Dim oldFileName As String
    Dim newFileName As String
    Dim folderPath As String
    Dim i As Integer

    folderPath = "E:\PDF Dateien\" ' Pfad zu den PDF-Dateien

    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row ' Annahme: Daten beginnen in Zeile 2
        oldFileName = folderPath & Cells(i, 1).Value ' Alter Dateiname aus Spalte A
        newFileName = folderPath & Cells(i, 4).Value ' Neuer Dateiname aus Spalte D

        If Dir(oldFileName) <> "" Then ' Überprüfen, ob die Datei existiert
            Name oldFileName As newFileName ' Datei umbenennen
        End If
    Next i
End Sub
  1. Schließe den VBA-Editor und klicke auf den Button, um den Code auszuführen.

Häufige Fehler und Lösungen

  1. Datei nicht gefunden:

    • Stelle sicher, dass der Pfad zu den PDF-Dateien korrekt ist. Überprüfe auch, ob die Dateinamen in der Excel-Tabelle genau mit den tatsächlichen Namen übereinstimmen.
  2. VBA läuft nicht:

    • Überprüfe, ob die Entwicklertools aktiviert sind und der Button korrekt mit dem Makro verbunden ist.
  3. Sortierung der Dateien:

    • Achte darauf, dass die Reihenfolge der Dateien in der Excel-Tabelle mit der Reihenfolge der Dateien im Ordner übereinstimmt.

Alternative Methoden

Falls du Power Automate verwenden möchtest, kannst du die PDF-Dateien auslesen und umbenennen, indem du einen Flow erstellst, der Folgendes tut:

  1. Trigger: Wähle einen Trigger aus, z.B. eine geplante Zeit oder manuelles Auslösen.
  2. Aktion: Verwende die Aktion "Datei auslesen" und wähle den Ordner mit den PDFs aus.
  3. Umbenennen: Füge eine Aktion hinzu, um die Datei basierend auf den Informationen in deiner Excel-Datei umzubenennen.

Diese Methode erfordert jedoch eine gute Kenntnis von Power Automate und ist nicht so benutzerfreundlich wie die VBA-Lösung.


Praktische Beispiele

Angenommen, deine Excel-Tabelle sieht folgendermaßen aus:

Alter Dateiname Neuer Datei Name
124578_Datei1.pdf 61.21_123456_GMA.pdf
879221_Datei2.pdf 101.21_10124589548_Schmidt.pdf
121212_Datei3.pdf 115.21_1624_VTG.pdf

Der VBA-Code wird die Dateien im Ordner E:\PDF Dateien entsprechend umbenennen.


Tipps für Profis

  • Fehlerbehandlung einfügen: Du kannst den VBA-Code erweitern, um Fehlerprotokolle zu erstellen, falls eine Datei nicht umbenannt werden kann.
  • Datenvalidierung: Überprüfe, ob die neuen Dateinamen keine ungültigen Zeichen enthalten, die unter Windows nicht erlaubt sind.
  • Backup erstellen: Erstelle vor dem Umbenennen ein Backup der PDF-Dateien, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Frage
Kann ich den VBA-Code anpassen, um auch andere Dateitypen zu verarbeiten?
Antwort: Ja, du kannst den Dateinamen und die Dateiendung im Code entsprechend anpassen, z.B. von .pdf auf .docx.

2. Frage
Wie kann ich den VBA-Code so ändern, dass er nur bestimmte Dateien umbenennt?
Antwort: Du kannst eine Bedingung einfügen, um nur Dateien mit bestimmten Namen oder Eigenschaften zu verarbeiten.

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