Datei-Infos abfragen

Outsider77

Erfahrenes Mitglied
Hallo!
Ich möchte das Erstell-Datum einer Datei auslesen.
Dazu soll in einem bestimmten Pfad im Netzwerk nach einer spezifischen Datei gesucht werden.
Code:
Sub Datei_Informationen()

Dim d As String

artikelname = Range("AO1")
If Range("C2") = "" Then Range("AG8") = "": End
d = FileDateTime("F:\slm09s\" + artikelname + "s-slm.sem")
e = Left(d, 10)
Range("AG8") = e

End Sub
Es besteht nur folgendes Problem: wenn die gesuchte Datei nicht vorhanden / zu finden ist, hätte ich gerne eine Message-Box mit der Meldung, "Datei noch nicht vorhanden".
Wie kann ich das lösen?
Vielen Dank schon mal
Gruß Outi
 
Hey Outsider77,

Die Idee von Zvoni ist zwar gut und führt zum Erfolg, doch mit Verweis auf Scripting-Runtime bist du auf der sicheren Seite und kannst noch viel mehr auslesen.

Bsp:
Option Explicit
Public FSO As New FileSystemObject

Public Function GetFileDate(sFile as string) as string

If FSO.FileExist(sFile) then
GetFileDate = FSO.GetFile(sFile).DateCreated
Else
MsgBox "Datei nicht vorhanden.
GetFileDate = ""
End If

End Function

Der Aufruf ist folgendermaßen:

Sub Datei_Informationen()

Dim d As String

artikelname = Range("AO1")
If Range("C2") = "" Then Range("AG8") = "": End
d = GetFileDate("F:\slm09s\" + artikelname + "s-slm.sem")
e = Left(d, 10)
Range("AG8") = e

End Sub

Das wäre meine Idee.

Gruß ANI
 
Igitt, FSO *brrr* *schauder*:mad:

Mal unabhängig davon, dass ich das FSO verabscheue, ist das so eine Sache mit Verweisen in Excel, vor allem wenn die Datei weitergegeben wird (hatte ich in der Vergangenheit dauernd Probleme)

Ich bin nunmal ein Anhänger von "So wenig Verweise wie möglich, wenn es eine andere Lösung gibt".

Und siehe da, es gibt eine (die vor allem auch unabhängig ist von dem ganzen Verweis-Gedöns)
http://www.vbarchiv.net/api/api_getfiletime.html
 
Hey Zvoni,
bisher hatte ich mit dem Scripting-Runtime keine Probleme. Der Treiber "scrrun.dll" gehört zu Windows und ist daher immer im System vorhanden. Sicherlich gibt es bei bestimmten Eigenentwicklungen, z.B. Steuerelementen o. Treiber, Probleme bei der Weitergabe. Hatte auch schon oft das Problem. Dafür habe ich mir dann ein Tool geschrieben, welches die benötigten Treiber oder OCX aus der ".EXE"-Datei ausliest und dann diese Treiber aus dem System in eine ZIP-Date packt und dieses ZIP-Paket habe ich dann mit meinem Programm ausgeliefert. Ansonsten gebe ich Dir recht. Verweise sollte man, wenn möglich, vermeiden. Man sollte immer auf API von Systemtreibern zurückgreifen. War ja nur eine Idee um zu helfen. Erfahrung ist das Eine, helfen mit Lösungen das Andere.

Gruß ANI
 
Ani, ich stimme dir voll zu.
Es ist nunmal häufig auch eine Frage des Geschmacks, und da ich nunmal ein Anhänger der Bande "Wenn ich einen Verweis durch 10 API-Aufrufe vermeiden kann, dann tue ich das", bin ich ein leidenschaftlicher Gegner von Verweisen, Zusatzsteuerelementen und Gedöns, wenn mir das Windows vollständig abnehmen kann (Ich sage nur CommonDialog!).

Erfahrung ist das Eine, helfen mit Lösungen das Andere.

Gruß ANI

Diese Aussage unterschreibe ich sofort, jedoch mit einer Einschränkung:
Ich gebe eher Hilfestellung, wo man eine Lösung finden kann. Ich werde niemandem die Arbeit abnehmen, sein Hirn einzuschalten, nur weil man grad zu faul ist, die MSDN oder Google zu bemühen.
Konkrete Hilfe/Lösung gibts bei mir nur, wenn es klar erkennbar ist, dass der Hilfesuchende am Ende seines Lateins ist, oder die Antwort wirklich nur ein Zweizeiler ist.
 
Zurück