Dateien automatisch umbenennen mit Excel VBA
Schritt-für-Schritt-Anleitung
Um Dateien automatisch umzubenennen, kannst Du das folgende VBA-Skript verwenden. Dieses Skript geht davon aus, dass Du eine Excel-Datei und eine PDF-Datei hast, die zur gleichen Zeit erstellt wurden. Das Skript benennt die PDF-Datei um, um den Namen der Excel-Datei zu übernehmen, jedoch mit der entsprechenden Dateiendung.
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Erstelle ein neues Modul: Klicke auf Einfügen
> Modul
.
-
Füge den folgenden Code ein:
Sub p_jetza()
Dim oFSO As Object, oFLD As Object, strNewPDFName As String
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFLD = oFSO.GetFolder("C:\temp\expo")
For Each oFile In oFLD.Files
If LCase(Right(oFile.Name, 3)) = "xls" Then
strNewPDFName = Left(oFile.Name, Len(oFile.Name) - 4) & "_" & Replace(Replace(oFile.DateCreated, ".", ""), ":", "")
oFSO.MoveFile "C:\temp\expo\" & oFile.Name, "C:\temp\expo\report\" & oFile.Name
End If
Next
For Each oFile In oFLD.Files
If LCase(Right(oFile.Name, 3)) = "pdf" Then
oFSO.MoveFile "C:\temp\expo\" & oFile.Name, "C:\temp\expo\report\" & strNewPDFName & ".pdf"
End If
Next
' Clean up
Set oFLD = Nothing
Set oFSO = Nothing
End Sub
-
Ändere den Pfad in GetFolder("C:\temp\expo")
, um auf den Speicherort Deiner Dateien zu verweisen.
-
Führe das Skript aus, um die Dateien automatisch umzubenennen.
Häufige Fehler und Lösungen
-
Fehler: "Datei nicht gefunden"
- Stelle sicher, dass der angegebene Pfad korrekt ist und die Dateien vorhanden sind.
-
Fehler: "Zugriffsverletzung"
- Überprüfe die Berechtigungen für den Ordner, in dem Du arbeitest.
-
Lösung: Doppelte Dateinamen
- Achte darauf, dass die Excel- und PDF-Dateien unterschiedliche Namen haben, um Kollisionen zu vermeiden.
Alternative Methoden
Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch Excel-Formeln nutzen, um Dateinamen in einer Liste zu generieren. Anschließend kannst Du mit einem Batch-Skript oder PowerShell die Umbenennung durchführen.
Ein einfaches VBA-Makro könnte auch manuell im Excel-Dokument laufen, um die Dateinamen nach einer Excel-Liste zu ändern.
Praktische Beispiele
-
Beispiel für das Umbenennen von Excel-Dateien:
Wenn Du eine Excel-Datei namens Report_1_vom_12.1_um_1200uhr.xls
hast, wird die zugehörige PDF-Datei in Report_1_vom_12.1_um_1200uhr.pdf
umbenannt.
oFSO.MoveFile "C:\temp\expo\report.pdf", "C:\temp\expo\report\Report_1_vom_12.1_um_1200uhr.pdf"
-
Umbenennen von mehreren Dateien:
Du kannst die Schleife im VBA-Skript erweitern, um mehrere Dateien in einem bestimmten Ordner umzubenennen.
Tipps für Profis
- Verwende Fehlerbehandlung in Deinem VBA-Skript, um unerwartete Probleme zu vermeiden.
- Teste Deine Skripte in einer sicheren Umgebung, bevor Du sie in der Produktion einsetzt.
- Du kannst die Excel-Dateierweiterung ändern, indem Du einfach die Zeichenfolge in der
MoveFile
-Methode anpasst.
FAQ: Häufige Fragen
1. Kann ich das Skript auch für andere Dateiformate verwenden?
Ja, Du kannst das Skript anpassen, um andere Dateiformate zu unterstützen, indem Du die entsprechenden Dateiendungen in den Bedingungen änderst.
2. Wie kann ich das Skript automatisch ausführen lassen?
Du kannst das Skript mit einem Timer oder beim Öffnen der Excel-Datei ausführen, indem Du das Skript in das Workbook_Open()
-Ereignis einfügst.
3. Funktioniert das Skript auch in Excel Online?
Das Skript funktioniert nur in der Desktop-Version von Excel, da VBA in Excel Online nicht unterstützt wird.