Umbenennen von Dateien per VBA

Das Umbenennen von Dateien ist eine häufige Aufgabe, die in vielen Automatisierungsprojekten vorkommt, sei es bei der Organisation von Dokumenten oder beim Verarbeiten von Datenbeständen. Mit VBA (Visual Basic for Applications) lässt sich diese Aufgabe mühelos bewältigen. Im folgenden Artikel zeige ich dir, wie du Dateien per VBA umbenennen kannst und erweitere das Beispiel mit zusätzlichen Optionen.

Grundlegendes Makro zum Umbenennen von Dateien

Das folgende einfache Makro ersetzt den alten Dateinamen durch einen neuen:

Public Sub umbenennen() 
Name "C:\test\mappe1.csv" As "C:\test\mappe1.txt" 
End Sub

In diesem Beispiel wird die Datei „mappe1.csv“, die im Ordner "test" auf Laufwerk „C:\“ gespeichert ist, in „mappe1.txt“ umbenannt. Das Makro „Name“ ermöglicht es, Dateien ohne komplizierte Operationen schnell und direkt umzubenennen.

Erweiterungen und weitere Anwendungsfälle

Das oben gezeigte Makro ist nützlich für einfache Dateiumbenennungen. In der Praxis gibt es jedoch oft mehr Anforderungen, wie das Umbenennen mehrerer Dateien oder das Abfangen von Fehlern. Schauen wir uns einige nützliche Erweiterungen an.

1. Umbenennen mehrerer Dateien in einem Verzeichnis

Wenn du mehrere Dateien in einem Ordner automatisch umbenennen möchtest, kannst du VBA verwenden, um durch alle Dateien eines Verzeichnisses zu iterieren und Änderungen vorzunehmen. Hier ist ein Beispiel, wie du alle ".csv"-Dateien in einem Ordner in ".txt"-Dateien umbenennen kannst:

Public Sub MehrereDateienUmbenennen()
 Dim Pfad As String
 Dim Datei As String
 
 Pfad = "C:\test\" ' Verzeichnis mit den Dateien
 Datei = Dir(Pfad & "*.csv") ' Nur .csv-Dateien
 
 Do While Datei <> ""
 Name Pfad & Datei As Pfad & Replace(Datei, ".csv", ".txt")
 Datei = Dir ' Nächste Datei abrufen
 Loop
End Sub

Dieses Makro durchläuft alle .csv-Dateien im Ordner „test“ und ändert deren Endung in .txt. Eine solche Lösung ist besonders nützlich, wenn du viele Dateien verarbeiten möchtest.

2. Fehlerbehandlung beim Umbenennen von Dateien

Es kann vorkommen, dass eine Datei nicht umbenannt werden kann, z. B. wenn sie gerade geöffnet oder gesperrt ist. Um dies elegant zu handhaben, solltest du eine Fehlerbehandlung integrieren:

Public Sub SicheresUmbenennen()
 On Error GoTo Fehler
 
 Name "C:\test\mappe1.csv" As "C:\test\mappe1.txt"
 MsgBox "Datei erfolgreich umbenannt!", vbInformation
 
 Exit Sub
 
Fehler:
 MsgBox "Fehler beim Umbenennen der Datei: " & Err.Description, vbExclamation
End Sub

Mit dieser Erweiterung wird ein Fehler abgefangen und eine entsprechende Meldung ausgegeben, falls etwas schiefgeht, anstatt dass das Programm einfach abstürzt.

3. Eingabe des Dateinamens durch den Benutzer

In vielen Fällen möchtest du, dass der Benutzer den alten und neuen Dateinamen selbst festlegt. Dies lässt sich leicht umsetzen, indem du Eingabefelder hinzufügst:

Public Sub BenutzerUmbenennen()
 Dim AlterName As String
 Dim NeuerName As String
 
 AlterName = InputBox("Geben Sie den alten Dateipfad ein:", "Alter Dateiname")
 NeuerName = InputBox("Geben Sie den neuen Dateipfad ein:", "Neuer Dateiname")
 
 If AlterName <> "" And NeuerName <> "" Then
 On Error GoTo Fehler
 Name AlterName As NeuerName
 MsgBox "Datei erfolgreich umbenannt!", vbInformation
 Else
 MsgBox "Ungültige Eingabe!", vbExclamation
 End If
 
 Exit Sub
 
Fehler:
 MsgBox "Fehler beim Umbenennen der Datei: " & Err.Description, vbExclamation
End Sub

Dieses Makro ermöglicht es dem Benutzer, den Pfad und Namen der umzubenennenden Datei sowie den neuen Dateinamen manuell einzugeben.

Fazit

Das Umbenennen von Dateien mit VBA ist eine praktische Methode, um repetitive Aufgaben zu automatisieren und Zeit zu sparen. Mit den oben vorgestellten Erweiterungen kannst du mehrere Dateien umbenennen, Fehlerbehandlungen einfügen und flexible Eingaben durch Benutzer ermöglichen. Durch den Einsatz von VBA kannst du deine Arbeitsabläufe effizienter gestalten und deine Projekte besser organisieren.

Partnerlinks

Relevante Artikel

Wir benutzen Cookies
Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.