wie kann man unter VBA den Dateiname der aktuellen Datei auslesen ohne die Dateierweiterung?
Ich wäre dankbar, wenn mir jemand weiterhelfen könnte.
Gruß
Gerhard
With ActiveWorkbook
NameOhneXLS = Left(.Name, Len(.Name) - 4)
End With
BackupName = "\" & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) _
& "-Sicherungskopie vom " & Format(Now, "YYYY-MM-DD") & "_" & (Environ("USERNAME")) & ".xls"
Gruß IngolfUm den Dateinamen ohne die Dateierweiterung in Excel VBA auszulesen, kannst du folgende Schritte befolgen:
Öffne das Visual Basic for Applications (VBA) Editor in Excel mit der Tastenkombination ALT + F11
.
Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (dein Dokument)" klickst und "Einfügen" > "Modul" auswählst.
Kopiere den folgenden VBA-Code in das Modul:
Sub DateinameOhneEndung()
Dim NameOhneXLS As String
With ActiveWorkbook
NameOhneXLS = Left(.Name, Len(.Name) - 4) ' Entfernt die letzten 4 Zeichen (z.B. .xls)
End With
MsgBox "Der Dateiname ohne Endung ist: " & NameOhneXLS
End Sub
Schließe den VBA-Editor und führe das Makro aus, um den Dateinamen ohne die Dateierweiterung anzuzeigen.
Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs."
Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt."
Wenn du den Dateinamen ohne die Dateierweiterung ohne VBA auslesen möchtest, kannst du dies auch mit einer Formel in Excel tun. Hier ist ein einfacher Ansatz:
Gib in eine Zelle die Formel ein:
=LINKS(A1;LÄNGE(A1)-4)
Dabei ist A1 die Zelle, in der der vollständige Dateiname steht.
Diese Formel entfernt die letzten vier Zeichen, was in der Regel die Dateierweiterung ist.
Hier sind einige praktische Anwendungen des oben genannten Codes:
Backup-Datei erstellen: Wenn du eine Sicherungskopie deiner Datei erstellen möchtest, kannst du den Dateinamen ohne Endung verwenden:
BackupName = "\" & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & "-Sicherungskopie vom " & Format(Now, "YYYY-MM-DD") & "_" & (Environ("USERNAME")) & ".xls"
Dateinamen aus Ordner auslesen: Um mehrere Dateinamen aus einem Ordner auszulesen, kannst du den folgenden Code verwenden:
Sub AuslesenDateinamen()
Dim Datei As String
Dim Ordner As String
Ordner = "C:\DeinOrdner\"
Datei = Dir(Ordner & "*.xls")
Do While Datei <> ""
Debug.Print Left(Datei, Len(Datei) - 4) ' Gibt den Dateinamen ohne Endung im Direktfenster aus
Datei = Dir
Loop
End Sub
InStrRev
in VBA, um flexibler mit verschiedenen Dateiendungen umzugehen. So kannst du auch andere Dateiformate berücksichtigen.1. Wie kann ich den Dateinamen ohne Endung in Excel 365 auslesen?
Die Methode ist die gleiche wie in anderen Excel-Versionen. Du kannst den VBA-Code oder die Excel-Formel verwenden.
2. Gibt es eine Möglichkeit, mehrere Dateinamen aus einem Ordner ohne VBA auszulesen?
Ja, das ist durch die Verwendung von Power Query möglich. Du kannst die Namen der Dateien importieren und die Endungen entfernen.
3. Kann ich den VBA-Code anpassen, um andere Dateiendungen zu entfernen?
Ja, du kannst die Zahl 4
in den VBA-Code anpassen, um die Anzahl der zu entfernenden Zeichen zu ändern, je nach Dateiendung.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen