Rubrik: | VB-Versionen: VB6 | 01.03.15 |
Nachfolgender Codeauszug zeigt, wie man unter Zuhilfenahme des Shell- und Folder-Objekts auf erweiterte Datei-Eigenschaften einer Datei zugreifen bzw. diese auslesen kann.
Das Shell-Objekt kann hierbei entweder direkt über den Verweis "Microsoft Shell Controls And Automation" eingebunden werden oder aber auch via Late-Binding zur Laufzeit erzeugt werden.
Dim oShell As Object ' Shell32.Shell
Dim oFolder As Object ' Shell32.Folder
Dim oItem As Object ' Shell32.FolderItem
Dim sFile As String
Dim sPath As String
' Datei, deren Eigenschaften ausgelesen werden sollen
sFile = "d:\temp\MeinBild.gif"
' Dateiname in Pfad und Datei zerlegen
sPath = Left$(sFile, InStrRev(sFile, "\") - 1)
sFile = Mid$(sFile, InStrRev(sFile, "\") + 1)
' Shell- und Folder-Objekt erstellen
Set oShell = CreateObject("shell.application")
' Wichtig: Pfad als Variant übergeben!
Set oFolder = oShell.NameSpace(CVar(sPath))
If Not oFolder Is Nothing Then
' FolderItem-Objekt der Datei
Set oItem = oFolder.ParseName(sFile)
If Not oItem Is Nothing Then
' folgende Eigenschaften stehen zur Verfügung
Debug.Print "Name: " & oFolder.GetDetailsOf(oItem, 0)
Debug.Print "Size: " & oFolder.GetDetailsOf(oItem, 1)
Debug.Print "Type: " & oFolder.GetDetailsOf(oItem, 2)
Debug.Print "DateTime: " & oFolder.GetDetailsOf(oItem, 3)
Debug.Print "Attribut: " & oFolder.GetDetailsOf(oItem, 4)
Debug.Print "InfoTip: " & oFolder.GetDetailsOf(oItem, -1)
End If
Set oItem = Nothing
End If
' Objekte zerstören
Set oFolder = Nothing
Set oShell = Nothing