wie kann ich den aktuellen Dateinamen per VBA in eine Variable schreiben? Gibt's da auch eine Möglichkeit den Pfadnamen zu ermitteln?
Gruss
Heiko
wie kann ich den aktuellen Dateinamen per VBA in eine Variable schreiben? Gibt's da auch eine Möglichkeit den Pfadnamen zu ermitteln?
Gruss
Heiko
MsgBox ThisWorkbook.Path
MsgBox ThisWorkbook.Name
Gruß Otto
Gruss Udo
Um den aktuellen Dateinamen und den Pfad in Excel VBA zu ermitteln, kannst du folgende Schritte ausführen:
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu, indem du im Menü auf Einfügen > Modul klickst.
Kopiere und füge den folgenden Code in das Modul ein:
Sub DateinameUndPfadAuslesen()
Dim dateipfad As String
Dim dateiname As String
' Pfad und Dateiname auslesen
dateipfad = ThisWorkbook.Path
dateiname = ThisWorkbook.Name
' Ergebnisse anzeigen
MsgBox "Pfad: " & dateipfad & vbCrLf & "Dateiname: " & dateiname
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Führe das Makro aus, indem du ALT + F8 drückst und das Makro DateinameUndPfadAuslesen auswählst.
Du solltest jetzt eine Meldung sehen, die den Pfad der aktuellen Datei und den Dateinamen anzeigt.
Fehler: "Das Makro kann nicht ausgeführt werden."
Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen.Fehler: "Der Pfad ist leer."
Eine alternative Methode zur Ermittlung des Dateinamens und Pfades ist die Verwendung von ActiveWorkbook:
Sub AktuellenPfadUndDateinameErmitteln()
MsgBox "Aktueller Pfad und Dateiname: " & ActiveWorkbook.FullName
End Sub
Diese Methode gibt sowohl den Pfad als auch den Dateinamen in einer einzigen Meldung aus.
Hier sind einige praktische Beispiele, wie du den Pfad und den Dateinamen in verschiedenen Situationen verwenden kannst:
Speicherort anzeigen: Du kannst den Speicherort der Datei in einer Zelle anzeigen lassen:
Sub SpeicherortInZelleAnzeigen()
Range("A1").Value = ThisWorkbook.Path
Range("A2").Value = ThisWorkbook.Name
End Sub
Dateiname ohne Erweiterung: Wenn du nur den Dateinamen ohne die Dateiendung benötigst, kannst du folgendes verwenden:
Sub DateinameOhneErweiterung()
Dim dateiname As String
dateiname = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
MsgBox "Dateiname ohne Erweiterung: " & dateiname
End Sub
Application.ActiveWorkbook.FullName, um den vollständigen Dateinamen zu erhalten, auch wenn du mit mehreren Arbeitsmappen arbeitest.VBA FileSystemObject-Bibliothek, um erweiterte Dateifunktionen zu nutzen, wie das Überprüfen auf Existenz oder das Kopieren von Dateien.1. Wie kann ich den Dateipfad einer anderen Arbeitsmappe auslesen?
Du kannst den Pfad einer anderen Arbeitsmappe auslesen, indem du den Namen der Arbeitsmappe in der Workbooks-Sammlung verwendest:
MsgBox Workbooks("AndereDatei.xlsx").Path
2. Funktioniert das in allen Excel-Versionen?
Ja, die genannten Methoden sind in den meisten Excel-Versionen verfügbar, die VBA unterstützen, einschließlich Excel 2010 bis 2021 sowie Excel 365.