Ich versuche das grad so:_
Nach dem Senden der Mail erstelle ich in einem Ordner eine Datei
Dim FiStr As FileStream = New FileStream( _
My.Application.Info.DirectoryPath & "\Data\MyNotes\" & user & _
"_MyNotesSend", FileMode.Create)
Dim StrWr As StreamWriter = New StreamWriter(FiStr)
StrWr.Close() Beim Aufrufen des Tools starte ich auch noch diese Abfrage ...
Public Sub Check_MyNotes_Send()
Dim strPath As String
Dim lngAge As Long
Dim lngAusgabe As Long
Dim strType As String
strPath = My.Application.Info.DirectoryPath & "\Data\MyNotes\"
lngAge = 1
strType = ""
lngAusgabe = DeleteFilesAfterXDays(strPath, lngAge, strType)
'Debug.Print("Es wurden " & lngAusgabe & " Dateien aus dem Ordner " &
' strPath & " gelöscht")
End Sub
' Löscht alle Dateien eines Ordners, die älter als x Tage sind
Public Function DeleteFilesAfterXDays(ByVal strFilePath As String, _
Optional ByVal lngFileAge As Long = 10, _
Optional ByVal strFileType As String = "") As Long
Dim lngDeletetFiles As Long
Dim dtmFileCreated As Date
Dim objFSO As Object
Dim objFolder As Object
Dim colFile As Object
Dim objFile As Object
' Fehlerbehandlung aktivieren
On Error GoTo ErrHandler
' Laufparameter für das Gesamtergebnis der gelöschten Dateien
lngDeletetFiles = 0
' Verweis auf das FileSystemObject erstellen
objFSO = CreateObject("Scripting.FileSystemObject")
' Verweis auf den übergebenen Pfad setzen
objFolder = objFSO.GetFolder(strFilePath)
' Verweis auf die Dateien im übergebenen Pfad setzen
colFile = objFolder.Files
' Schleife über alle Dateien im Ordner
For Each objFile In colFile
With objFile
' Prüfung nach dem Dateitypen, sprich der Dateiendung.
' Bei "" werden alle Dateien überprüft, ansonsten der
' an strFileType übergebene Dateityp, bestehend aus den
' letzten Buchstaben nach dem Punkt.
If Len(strFileType) = 0 Or _
Right$(.Name, Len(.Name) - InStrRev(.Name, "")) = strFileType _
Then
' Dateierstellungsdatum der Datei auslesen
dtmFileCreated = .DateCreated
' Datumdifferenz berechnen und mit der Anzahl der
' übergebenen Tagen in lngFileAge vergleichen
If DateDiff("d", dtmFileCreated, Now()) > lngFileAge Then
' Bei Überschreitung der Altersgrenze, wird die Datei
' gelöscht
.Delete()
lngDeletetFiles = lngDeletetFiles + 1
End If
End If
End With
Next
' Anzahl der gelöschten Dateien übergeben
DeleteFilesAfterXDays = lngDeletetFiles
ErrHandler:
' Objekte zerstören
objFolder = Nothing
objFSO = Nothing
colFile = Nothing
objFile = Nothing
End Function Grüße
Stefan |