Hallo,
ich möchte gern aus Dateien einer Verzeichnisstruktur erweiterte Attribute (Bitrare, Resolution etc.) auslesen.
Die Dateien sind etwa so angeordnet:
H:\videos
H:\videos\u\
H:\videos\u\
H:\videos\u\urlaub 2009
H:\videos\u\urlaub 2009\video1.mp4
H:\videos\u\urlaub 2009\video2.mp4
H:\videos\u\urlaub 2010
H:\videos\u\urlaub 2010\video.mp4
...
Wenn ich nun dies codiere (Referenz auf shell32 ist gesetzt)
...
dim objShell as Object
oder auch
dim objShell as Shell32.Shell
(andere entsprechend)
...
sFolder = "Urlaub 2009"
...
sFolder ="H:\videos\u\" & sFolder
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(sFolder)
ist objFolder NOTHING.
Im Direktfenster erhalte ich seltsamerweise diese Antworten:
?objShell.NameSpace("H:")
Disk H (H:)
?objShell.NameSpace("H:\videos")
videos
?objShell.NameSpace("H:\videos\u")
u
?objShell.NameSpace("H:\videos\u\urlaub 2009")
urlaub 2009
Wo ist der Pfad geblieben?
Was ist falsch?
Was erwartet .Namespace() als Parameter?
Bei MS(DN) finde ich keine hilfreichen Aussagen (viele beziehen sich auf .NET) und auch mit VBA als zus. Suchkriterium komme ich nicht weiter.
Ich habe auch Excel-VBA-Code gefunden, der alle Attribute von Dateien auflistet. Hat auch funktioniert. Aber eine Portation nach Access ist mir nicht geglückt.
Hat jemand konkrete Erfahrung mit Shell und .GetDetailsOf... unter Access 2016?
Hallo
ZitatWas erwartet .Namespace() als Parameter?
Zwingend einen Varianten. Entweder sFolder als Varianten deklarieren oder durch Klammerung der Variable soetwas wie ein ByCopy erzwingen
Set objFolder = objShell.NameSpace((sFolder))ZitatWo ist der Pfad geblieben?
Diesen musst du dir mit Hilfe des 'Parentfolder' wieder zusammensetzen.
Hi Daolix,
vielen Dank, hat sofort funktioniert!
Gruß!