Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dateien umbenennen per VBA "_" ersetzen

Dateien umbenennen per VBA "_" ersetzen
14.04.2021 16:38:48
Max
Hallo zusammen,
ziel meines Makro soll sein, die ersten 15 Zeichen eines Dateinamen stehen zu lassen und den Rest zu löschen,
dass funktioniert auch...
jetzt würde ich noch gerne falls vorhanden unterstriche ("_") durch Leerzeichen (" ") ersetzen
Vielen Danke schonmal für eure Hilfe.
es geht um folgendes Makro:
Sub Dateien_Umbenennen()
Dim sFile As String
Dim sPfad As String
sPfad = InputBox("pfad einfügen", "Pfad", "\")
sFile = Dir(sPfad & "*.pdf")
Do While sFile  ""
On Error GoTo loeschen
Name sPfad & sFile As sPfad & Left(sFile, 15) & ".pdf"
sFile = Dir
Loop
Exit Sub
loeschen:
Kill sPfad & Left(sFile, 15) & ".pdf"
Resume
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien umbenennen per VBA "_" ersetzen
14.04.2021 16:51:47
UweD
Hallo
so?
    Name sPfad & sFile As sPfad & Left(Replace(sFile, "_", " "), 15) & ".pdf"

LG UweD
AW: Dateien umbenennen per VBA "_" ersetzen
16.04.2021 06:18:21
Max
Vielen Dank, hat funktioniert!
Danke für die Rückmeldung (owT)
16.04.2021 11:27:02
UweD
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Dateien umbenennen per VBA: "_" ersetzen


Schritt-für-Schritt-Anleitung

Um alle Dateien eines Ordners per VBA umzubenennen und dabei unterstriche ("_") durch Leerzeichen (" ") zu ersetzen, kannst du folgendes Makro verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul ein: Rechtsklick auf "VBAProject (DeinWorkbookName)" > Einfügen > Modul.
  3. Kopiere und füge den folgenden Code in das Modul ein:
Sub Dateien_Umbenennen()
    Dim sFile As String
    Dim sPfad As String
    sPfad = InputBox("Pfad einfügen", "Pfad", "\")
    sFile = Dir(sPfad & "*.pdf")
    Do While sFile <> ""
        On Error GoTo loeschen
        Name sPfad & sFile As sPfad & Left(Replace(sFile, "_", " "), 15) & ".pdf"
        sFile = Dir
    Loop
    Exit Sub
loeschen:
    Kill sPfad & Left(sFile, 15) & ".pdf"
    Resume
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf "Ausführen" klickst.

Häufige Fehler und Lösungen

  • Problem: Das Makro findet keine Dateien im angegebenen Ordner.

    • Lösung: Stelle sicher, dass du den richtigen Pfad eingibst und dass im Ordner tatsächlich PDF-Dateien vorhanden sind.
  • Problem: Das Makro gibt einen Fehler aus, wenn eine Datei mit dem neuen Namen bereits existiert.

    • Lösung: Das Makro verwendet On Error GoTo loeschen, um bestehende Dateien zu löschen. Überprüfe, ob du die Berechtigung hast, Dateien zu löschen.

Alternative Methoden

Falls du mit VBA nicht vertraut bist, kannst du auch Power Query verwenden, um Dateinamen in einer Excel-Tabelle zu ändern. Du kannst die Dateien importieren und dann den Namen in der Tabelle anpassen. Eine weitere Möglichkeit wäre die Verwendung von Windows-Batch-Skripten, um alle Dateien eines Ordners umzubenennen.


Praktische Beispiele

Um ein Beispiel zu zeigen, wie das Makro funktioniert, nehmen wir an, du hast folgende Dateien im Ordner:

  • bericht_2022.pdf
  • daten_2022.pdf
  • projekt_2022.pdf

Nach dem Ausführen des Makros werden die Dateien umbenannt in:

  • bericht 2022.pdf
  • daten 2022.pdf
  • projekt 2022.pdf

Das Makro lässt die ersten 15 Zeichen der Datei unverändert und ersetzt alle "_" durch ein Leerzeichen.


Tipps für Profis

  • Nutze vba datei umbenennen innerhalb von Schleifen, um komplexe Umbenennungen durchzuführen.
  • Überlege, die Funktionalität zu erweitern, um auch andere Dateiformate zu unterstützen, indem du in Dir(sPfad & "*.pdf") die Dateiendung änderst.
  • Experimentiere mit Access VBA, um ähnliche Funktionen in Access-Datenbanken zu implementieren.

FAQ: Häufige Fragen

1. Kann ich das Makro für andere Dateitypen verwenden? Ja, du kannst die Dateiendung im Code ändern. Ersetze "*.pdf" durch die gewünschte Dateiendung, z.B. "*.txt".

2. Was passiert, wenn das Makro auf eine Datei mit dem neuen Namen stößt? Das Makro wird versuchen, die Datei zu löschen, falls sie bereits existiert. Stelle sicher, dass du eine Sicherungskopie der Dateien hast, bevor du das Makro ausführst.

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