Ich nochmal,
ich nähere mich meiner Lösung - Schritt für Schritt....
Habe nun zwei Codes, die ich zusammenbauen müsste und benötige noch einmal eure Hilfe dabei.
Code 1 löscht zuverlässig das älteste File...
Code 2 zählt die Files
Hier noch mit Msg-Box als Ausgabe. Ich habe versucht, die beiden Codes zusammenzufrickeln, allerdings gelingt es mir nicht. Bevor ich weiter auf F5 zum Auslösen hämmere und ich keine Rückmeldung bekomme, was ich gerade lösche bzw ob überhaupt etwas gelöscht wird bitte ich nochmal um eure Hilfe.
Hier mein Versuch:
Wenn ich das Makro ausführe, passiert gar nix ... es wird aber auch kein Fehler angezeigt. Wenn ich mich recht erinnere, kann ich die eine Prozedur nicht auch als Function innerhalb der anderen ausführen lassen?! Muss ich die Variable intz dann als globale Variable definieren? Leider bekomme ich das nicht hin :(
Gruß und danke
ich nähere mich meiner Lösung - Schritt für Schritt....
Habe nun zwei Codes, die ich zusammenbauen müsste und benötige noch einmal eure Hilfe dabei.
Code 1 löscht zuverlässig das älteste File...
Code:
Sub Delete_oldest_File()
Dim FSO, f, fi
Dim MinDateCreated As Date: MinDateCreated = 99999
Set FSO = CreateObject("Scripting.FileSystemObject")
Set f = FSO.GetFolder(Environ("UserProfile") & "\Desktop\Testordner")
For Each fi In f.Files
If fi.DateCreated < MinDateCreated Then MinDateCreated = fi.DateCreated
Next
For Each fi In f.Files
If fi.DateCreated = MinDateCreated Then FSO.DeleteFile fi
Next
End Sub
Code 2 zählt die Files
Code:
Sub DateienZaehlen()
Dim strOrdnerName As String
Dim strName As String
Dim intz As Integer
strOrdnerName = "C:\Users\Desktop\Testordner\"
strName = Dir(strOrdnerName & "*.*")
Do While strName <> ""
strName = Dir
intz = intz + 1
Loop
MsgBox "Anzahl der Dateien: " & intz
End Sub
Hier noch mit Msg-Box als Ausgabe. Ich habe versucht, die beiden Codes zusammenzufrickeln, allerdings gelingt es mir nicht. Bevor ich weiter auf F5 zum Auslösen hämmere und ich keine Rückmeldung bekomme, was ich gerade lösche bzw ob überhaupt etwas gelöscht wird bitte ich nochmal um eure Hilfe.
Hier mein Versuch:
Code:
Sub DateienZaehlen()
Dim strOrdnerName As String
Dim strName As String
Dim intz As Integer
Dim FSO, f, fi
Dim MinDateCreated As Date: MinDateCreated = 99999
Set FSO = CreateObject("Scripting.FileSystemObject")
Set f = FSO.GetFolder(Environ("UserProfile") & "\Desktop\Testordner")
strOrdnerName = "C:\Users\***\Desktop\Testordner"
strName = Dir(strOrdnerName & "*.*")
Do While strName <> ""
strName = Dir
intz = intz + 1
Loop
'MsgBox "Anzahl der Dateien: " & intz
If intz > 2 Then
For Each fi In f.Files
If fi.DateCreated < MinDateCreated Then MinDateCreated = fi.DateCreated
Next
For Each fi In f.Files
If fi.DateCreated = MinDateCreated Then FSO.DeleteFile fi
Next
End If
End Sub
Wenn ich das Makro ausführe, passiert gar nix ... es wird aber auch kein Fehler angezeigt. Wenn ich mich recht erinnere, kann ich die eine Prozedur nicht auch als Function innerhalb der anderen ausführen lassen?! Muss ich die Variable intz dann als globale Variable definieren? Leider bekomme ich das nicht hin :(
Gruß und danke