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:
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Füge ein neues Modul ein: Rechtsklick auf "VBAProject (DeinWorkbookName)" > Einfügen > Modul.
- 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
- 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.