Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datei-Eigenschaften abfragen?!

Forumthread: Datei-Eigenschaften abfragen?!

Datei-Eigenschaften abfragen?!
18.03.2004 09:56:19
Andre
Guten Morgen,
kann mir jemand sagen, wie ich Datei-Eigenschaften per VBA abfragen kann? Die Besonderheit dabei ist, das die Datei nicht die geöffnete Excelarbeitsmappe sein soll, sondern es soll allgemein für jede beliebige Datei möglich sein.
Ich brauche solche Daten wie Größe der Datei und Erstellungsdatum.
Gruß Andre
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei-Eigenschaften abfragen?!
18.03.2004 10:00:44
Hajo_Zi
Hallo Andre
ich vermute mal ganz Stark dies ist nur für geöffnete Dateien möglich.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
AW: Datei-Eigenschaften abfragen?!
18.03.2004 10:08:11
Nepumuk
Hallo Andre,
gib mal in der VBA-Hilfe File-Objekt als Suchbegriff ein. Damit kannst du die DateCreated-Eigenschaft sowie die Size-Eigenschaft auslesen.
Gruß
Nepumuk
AW: Datei-Eigenschaften abfragen?!
18.03.2004 10:08:49
Andre
Hi Hajo, wie sieht´s aus?
Sollte aber doch eigentlich möglich sein, auf die Eigenschaften einer Datei zugreifen (nur Abfrage!) zu können. Irgendwo müssen diese Daten ja hinterlegt sein, denn ich kann sie ja auch manuell abfragen.
Gruß Andre
Anzeige
AW: Datei-Eigenschaften abfragen?!
18.03.2004 10:10:51
Uwe
Hier aus der VBA-EXCEL-Hilfe

Sub ShowFileList(folderspec)
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.Files
For Each f1 in fc
s = s & f1.name
s = s &  vbCrLf
Next
MsgBox s
End Sub

fc ist die Liste der Dateinamen im gewähltem folderspec (z.B. "C:\")
DateCreated
DateLastAccesed
...
sind weitere Eigenschaften der Objecte fc bzw. fs (Datie bzw. Verzeichnis)
Gruß!
Anzeige
AW: ...und natürlich fc.Attributes (ot)
18.03.2004 10:13:10
Uwe
.
Danke an alle, genau das hab ich gesucht! o.T.
18.03.2004 10:22:37
Andre
AW: ...und natürlich fc.Attributes (ot)
18.03.2004 10:32:53
Heinz A. Wankmüller
Hallo Uwe,
und wie komme ich zu der Dateigröße?, FileLen ist es jedenfalls nicht. Wo finde ich denn die Eigenschaften dieser Objekte?
Danke
Heinz
Anzeige
siehe Beitrag Axel wieter unten! o.T.
18.03.2004 13:56:11
Andre
Beispiel
18.03.2004 10:10:16
Axel
Hallo,
über das FileSystemObject können die Eigenschaften abgerufen werden. Dazu ist ein Verweis auf die "Microsoft Scripting Runtime" einzurichten.
Hier ein Beispiel.
Sub x()
   
   Dim fso As New FileSystemObject
   
   ThisWorkbook.Save
   
   With fso.GetFile(ThisWorkbook.FullName)
      Debug.Print "Dateiname:                   " & .Name
      Debug.Print "Pfad:                        " & .Path
      Debug.Print "Dateierstellung:             " & .DateCreated
      Debug.Print "Letzter Lesezugriff:         " & .DateLastAccessed
      Debug.Print "Letzter Schreibzugriff:      " & .DateLastModified
      Debug.Print "Attribute:                   " & .Attributes
      Debug.Print "Größe:                       " & .Size
   End With
End Sub
     Code eingefügt mit Syntaxhighlighter 1.14


Gruß
Axel
Anzeige
versteh ich nicht!?
18.03.2004 11:14:50
Markus H.
Moin,
angenommen ich möchte aus der Exceltabelle Plan.xls die Dateieigenschaften von
c:/windows/programme/Rech/test.xls
abfragen.
Wie mach ich das?
Gruß
Markus
z.B. so
18.03.2004 11:25:31
Axel
Hallo,
Verknüpfung auf die "Microsoft Scripting Runtime" setzen, Direktfenster einblenden und Code starten.
Sub x()
   
   Dim fso As New FileSystemObject
   
   With fso.GetFile("c:/windows/programme/Rech/test.xls")
      Debug.Print "Dateiname:                   " & .Name
      Debug.Print "Pfad:                        " & .Path
      Debug.Print "Dateierstellung:             " & .DateCreated
      Debug.Print "Letzter Lesezugriff:         " & .DateLastAccessed
      Debug.Print "Letzter Schreibzugriff:      " & .DateLastModified
      Debug.Print "Attribute:                   " & .Attributes
      Debug.Print "Größe:                       " & .Size
   End With
End Sub
     Code eingefügt mit Syntaxhighlighter 1.14


Gruß
Axel
Anzeige
Microsoft Scripting Runtime?
18.03.2004 12:42:37
Markus H.
Wie verknüpf ich das?
Gruß
Markus
AW: Microsoft Scripting Runtime?
18.03.2004 12:55:53
Axel
Hi,
in der Entwicklungsumgebung unter "Extras | Verweise" die Checkbox zur zugehörigen DLL aktivieren.
Gruß
Axel
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Datei-Eigenschaften in Excel abfragen


Schritt-für-Schritt-Anleitung

Um Datei-Eigenschaften wie Größe oder Erstellungsdatum aus einer beliebigen Datei in Excel zu lesen, kannst Du VBA (Visual Basic for Applications) nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Entwicklungsumgebung öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Verweis hinzufügen: Gehe zu Extras | Verweise und aktiviere die Microsoft Scripting Runtime. Dies ist wichtig, um das FileSystemObject nutzen zu können.

  3. Neues Modul erstellen: Klicke mit der rechten Maustaste auf VBAProject (DeineArbeitsmappe), wähle Einfügen und dann Modul.

  4. Code einfügen: Füge den folgenden Code in das Modul ein:

    Sub DateieigenschaftenAuslesen()
        Dim fso As New FileSystemObject
        Dim file As File
        Dim filePath As String
    
        filePath = "C:\Pfad\Zur\Datei.txt" ' Ändere den Pfad zur gewünschten Datei
    
        Set file = fso.GetFile(filePath)
    
        Debug.Print "Dateiname: " & file.Name
        Debug.Print "Pfad: " & file.Path
        Debug.Print "Größe: " & file.Size
        Debug.Print "Erstellungsdatum: " & file.DateCreated
    End Sub
  5. Code ausführen: Drücke F5, um den Code auszuführen. Die Datei-Eigenschaften werden im Direktfenster (Strg + G) angezeigt.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden": Stelle sicher, dass der Pfad zur Datei korrekt ist und die Datei existiert.
  • Fehler: "Verweis nicht gefunden": Überprüfe, ob die Microsoft Scripting Runtime korrekt aktiviert ist.
  • Fehler: "Zugriff verweigert": Achte darauf, dass die Datei nicht schreibgeschützt oder von einem anderen Programm verwendet wird.

Alternative Methoden

Anstelle von VBA kannst Du auch die Excel-Funktionen nutzen, um einige einfache Eigenschaften zu ermitteln, sofern die Datei in Excel geöffnet ist. Verwende beispielsweise:

  • =INFO("directory") um das aktuelle Verzeichnis zu erfahren.
  • =INFO("filename") um den Dateinamen der geöffneten Arbeitsmappe zu erhalten.

Um die Excel-Eigenschaften in Zelle einfügen zu können, kannst Du auch die Eigenschaften im Menü Datei > Informationen manuell kopieren.


Praktische Beispiele

Hier sind einige praktische Anwendungsbeispiele für das Auslesen von Datei-Eigenschaften:

  1. Erstellen einer Liste: Du kannst eine Schleife erstellen, um alle Dateien in einem bestimmten Ordner durchzugehen und deren Eigenschaften in eine Excel-Tabelle einzufügen.

  2. Dokumentenverwaltung: Ideal für die Verwaltung von Dokumenten, bei der Du regelmäßig Dateieigenschaften überprüfen musst, um z.B. die Größe oder das Erstellungsdatum zu überwachen.

Sub ListeVonDateieigenschaften()
    Dim fs As Object
    Dim folder As Object
    Dim file As Object
    Dim row As Integer
    row = 1

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set folder = fs.GetFolder("C:\Pfad\Zum\Ordner")

    For Each file In folder.Files
        Cells(row, 1).Value = file.Name
        Cells(row, 2).Value = file.Size
        Cells(row, 3).Value = file.DateCreated
        row = row + 1
    Next file
End Sub

Tipps für Profis

  • Debugging: Nutze Debug.Print, um Werte im Direktfenster zu überprüfen, bevor Du sie in Zellen schreibst.
  • Fehlerbehandlung: Implementiere einfache Fehlerbehandlungsroutinen mit On Error Resume Next, um unerwartete Fehler zu vermeiden.
  • Automatisierung: Du kannst die Datei-Eigenschaften automatisch bei bestimmten Ereignissen (wie beim Speichern) abfragen und speichern.

FAQ: Häufige Fragen

1. Wie kann ich die Eigenschaften einer Datei in eine Excel-Zelle einfügen?
Du kannst die Ausgabe des VBA-Codes direkt in eine Zelle schreiben, indem Du Cells(row, column).Value anstelle von Debug.Print verwendest.

2. Kann ich die Eigenschaften von geöffneten und geschlossenen Dateien abfragen?
Ja, mit dem FileSystemObject kannst Du Eigenschaften von geschlossenen Dateien abfragen, solange Du den korrekten Pfad angibst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige