CDate
29.10.2003 10:26:16
Guido Palacios
hab wieder ein Problemchen gefunden:
Ich habe eine Funktion die die Anzahl der Backup Dateien in einem Ordner "Archiv" prüft und wenn mehr als 40 Backup- Dateien vorhanden sind, die älteste Datei zurückgibt!
Meine Aufrufende Funktion:
Pivate
Sub Workbook_open
dim sKillDatei as string
sKillDatei = AnzDateien()
If Dir(sKillDatei) <> "" And sKillDatei <> "" Then
Kill sKillDatei
End If
End Sub
Meine Function:
Public
Function AnzDateien() As String
On Error GoTo msgerror
datei = Dir(ArchivDateipfad & "*_aufgaben*")
datum1 = 0
i = 0
Do While datei <> "" ' Schleife beginnen.
If datum1 = 0 Or datum1 > CDate(Left(datei, 4) & "-" &
Mid(datei, 6, 2)& "-" & Mid(datei, 9, 2)) Then
datum1 = CDate(Left(datei, 4) & "-" & Mid(datei, 6, 2) &
"-" & Mid(datei, 9, 2)) 'Punkt1
End If
datei = Dir ' Nächsten Eintrag abrufen.
i = i + 1
Loop
If i > 40 Then
AnzDateien = ArchivDateipfad & Right(datum1, 4) & "_" &
Mid(datum1, 4, 2) & "_" & Left(datum1, 2) & "_aufgaben.xls"
Else
AnzDateien = ""
End If
Exit Function
End Function
Punkt1: Ich habe in meinem Ordner 39 Dateien im Format "2003_09_20_aufgaben.xls" und bekomme einen Typen unverträglich sobald der "2003_09_31_aufgaben.xls" erreicht wurde???? Warum klappt mein CDate(left(usw....)) bei diesem Datum nicht mehr???