AW: verschiedenes Datum auslesen
26.05.2010 05:36:05
fcs
Hallo Detlef,
neben der von Udo empfohlenen Deklaration der Variablen sollte auch eine angemessenen Behandlung von möglichen Fehlern in den Prozeduren enthalten sein. So werden Prozeduren kontrolliert beendet und enden nicht im Debug-Modus des VBA-Editors.
Es ist oft sinnvoll solche Wertermittlungen in Functions auszulagern. Das hat den Vorteil, dass man diese mehrfach im Projekt aufrufen kann und die Hauptprozedur bleibt kurz und übersichtlich.
Bei neuen Projekten kann man vorhandene Functions einfach kopieren und integrieren.
Gruß
Franz
Sub aaa()
Dim stest As String, dLastModified As Date
stest = "C:\Users\Admin\Documents\Mappe10.xls"
dLastModified = Datei_Lastmodified(sDateiname:=stest)
If dLastModified = -1 Then
'Datei nicht gefunden
ElseIf dLastModified = -2 Then
'sonstiger Fehler
Else
'Datei gefunden
MsgBox "Änderungsdatum: " & dLastModified, vbInformation + vbOKOnly, stest
End If
End Sub
Public Function Datei_Lastmodified(sDateiname As String) As Date
'Function gibt das Letzte Änderungsdatum der Datei als Ergebnis zurück
On Error GoTo Fehler
With CreateObject("Scripting.FileSystemObject").getfile(sDateiname)
MsgBox "Änderungsdatum: " & .datelastmodified, , sDateiname
Datei_Lastmodified = .datelastmodified
MsgBox "Erstelldatum: " & .datecreated, , sDateiname
End With
Fehler:
With Err
Select Case .Number
Case 0 ' Alles OK
Case 53
MsgBox "Fehler-Nr.: " & Err.Number & vbLf & Err.Description & vbLf & vbLf _
& "Dateiname: " & sDateiname, vbOKOnly, "Datei-Eigenschaften anzeigen"
Datei_Lastmodified = -1
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, _
vbOKOnly, "Datei-Eigenschaften anzeigen"
Datei_Lastmodified = -2
End Select
End With
End Function