Dateieigenschaften auslesen

By , 11. September 2006

Um die spezifischen Eigenschaften einer Datei auszulesen, z.B. Dateigröße, Erstelldatum, Änderungsdatum etc. , kann man sich Scripting.FileSystemObject bedienen. Dadurch erhält man einen sehr schlanken Code mit nur wenigen Zeilen da das Objekt alle benötigten Methoden mitbringt.

Dies gilt für alle im Windows bekannten Dateiformate. Für Microsoft Office Word Dateien ist es zusätzlich möglich, weitere Eigenschaften wie z.B. der Name des Autors auszulesen, doch dazu später.

Beispiel für Dateieigenschaften

A) Dateieigenschaften aller Dateien

Function getFileProperties()
    Dim fso, gf
    Dim dateiname As String
    dateiname = "c:\Textdatei.txt"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set gf = fso.GetFile(dateiname)
    With gf
        MsgBox .DateCreated 'Erstelldatum
        MsgBox .DateLastModified 'Änderungsdatum
        MsgBox .DateLastAccessed 'Datum letzter Zugriff
        MsgBox .Size 'Dateigröße in Byte
    End With
End Function

Weitere Eigenschaften z.B. sind:

  • .Attributes ‚Dateiattribut
  • .DriveLetter ‚Laufwerk
  • .Name ‚Dateiname ohne Pfad
  • .Path ‚Dateiname mit Pfad
  • .ShortName ‚Dateiname ohne Pfad in Kurzform
  • .ShortPath ‚Dateiname mit Pfad in Kurzform
  • .Type ‚Dateityp, z.B. „Microsoft Word-Document“

B) Dateieigenschaften von Microsoft Word Dateien.
Um spezielle Microsoft Word Eigenschaften auszulesen benötigt man eine spezielle DLL die Microsoft kostenlos zur Verfügung stellt: dsofile.dll In der Datenbank ist diese DLL als Verweiss einzubinden. Danach kann man per Code auf das DSO Objekt zugreifen. Hier z.B. wird anhand des Dateinamens (FilePath) der Autor ermittelt.

Function getWordProperties(FilePath As String)
    Dim SumProperties As DSOFile.SummaryProperties
    Dim DocProperties As DSOFile.OleDocumentProperties
    Set DocProperties = New DSOFile.OleDocumentProperties
    DocProperties.Open FilePath, True, dsoOptionOpenReadOnlyIfNoWriteAccess
    Set SumProperties = DocProperties.SummaryProperties
    MsgBox SumProperties.Author
End Function

One Response to “Dateieigenschaften auslesen”

  1. nonnebub sagt:

    sehr gut – genau was ich gesucht habe.

Leave a Reply

You must be logged in to post a comment.

OfficeFolders theme by Themocracy