wenn... dann springe dort hin "UweD hilfe"

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: wenn... dann springe dort hin "UweD hilfe" von: Alex
Geschrieben am: 10.02.2005 10:50:10

Hallo,

nachdem UweD vor ein paar Tagen so nett war und mir bei dem folgenden Code geholfen hat:


Sub killen()
'Dateien Älter als XX Tage werden gelöscht
    Dim strPath$, strFile$, strExt$, Darf%, Alter As Date, JaNein
    strPath = ActiveSheet.Range("D95").Value
    If strPath = "" Then MsgBox "Bitte Pfad eintragen": Exit Sub
    strExt = "*.txt"       'Dateiextension ggf. anpassen
    Darf = ActiveSheet.Range("D94").Value 'Alter in Tagen
    If strPath = "" Then
        Exit Sub
    Else
        strFile = Dir(strPath & strExt)
        Do While Len(strFile) > 0
            Alter = FileDateTime(strPath & strFile)
            If Date - Alter > Darf Then
                JaNein = MsgBox("Soll Datei '" & strPath & strFile & "' gelöscht werden", vbYesNo, "Alte Dateien löschen")
                If JaNein = vbYes Then Kill strPath & strFile
            End If
            strFile = Dir() ' nächste Datei
        Loop
    End If
End Sub


hätte ich noch gern eine ganz kleine Änderung im Code. Also diese Makro löscht alle Textdateien in einem Verzeichnis die älter sind als meine Vorgabe.
Bevor es die jeweilige Datei jedoch löscht, kommt nochmal eine Abfrage, ob sich der Benutzer auch sicher ist, das die Datei gelöscht werden soll. So weit so gut. Ich hätte jetzt gern die Option drin, dass wenn Zelle A1=1 ist diese Abfrage übersprungen wird, und alle alten Dateien ohne Rückfrage gelöscht werden.

Ich stell mir das so vor:


Sub killen()
'Dateien Älter als XX Tage werden gelöscht
    Dim strPath$, strFile$, strExt$, Darf%, Alter As Date, JaNein
    strPath = ActiveSheet.Range("D95").Value
    If strPath = "" Then MsgBox "Bitte Pfad eintragen": Exit Sub
    strExt = "*.txt"       'Dateiextension ggf. anpassen
    Darf = ActiveSheet.Range("D94").Value 'Alter in Tagen
    If strPath = "" Then
        Exit Sub
    Else
        strFile = Dir(strPath & strExt)
        Do While Len(strFile) > 0
            Alter = FileDateTime(strPath & strFile)
            If Date - Alter > Darf Then
                JaNein = MsgBox("Soll Datei '" & strPath & strFile & "' gelöscht werden", vbYesNo, "Alte Dateien löschen")
                
                If ActiveSheet.Range("A1").Value =1 Then Kill strPath & strFile 
                                                         und Springe zur Marke1
            End If
                If JaNein = vbYes Then Kill strPath & strFile
            End If
            Marke1:
            strFile = Dir() ' nächste Datei
        Loop
    End If
End Sub


Mein Problem ist die Syntax, ich kenn mich mit den Befehlen noch nicht so gut aus, kann mir da einer helfen?

Vielen Dank

Gruß

Alex
Bild


Betrifft: AW: wenn... dann springe dort hin "UweD hilfe" von: UweD
Geschrieben am: 10.02.2005 11:04:13

Hallo

so gehts:


Sub killen()
'Dateien Älter als XX Tage werden gelöscht
    Dim strPath$, strFile$, strExt$, Darf%, Alter As Date, JaNein, Alle%
    strPath = ActiveSheet.Range("D95").Value
    If strPath = "" Then MsgBox "Bitte Pfad eintragen": Exit Sub
    strExt = "*.txt"       'Dateiextension ggf. anpassen
    Darf = ActiveSheet.Range("D94").Value 'Alter in Tagen
    Alle = ActiveSheet.Range("A1").Value 'Alle löschen OHNE Sicherheitsabfrage
    If strPath = "" Then
        Exit Sub
    Else
        strFile = Dir(strPath & strExt)
        Do While Len(strFile) > 0
            Alter = FileDateTime(strPath & strFile)
            If Date - Alter > Darf Then
                If Alle <> 1 Then
                    JaNein = MsgBox("Soll Datei '" & strPath & strFile & "' gelöscht werden", vbYesNo, "Alte Dateien löschen")
                    If JaNein = vbYes Then Kill strPath & strFile
                Else
                    Kill strPath & strFile
                End If
            End If
            strFile = Dir() ' nächste Datei
        Loop
    End If
End Sub



Gruß UweD


Bild


Betrifft: AW: wenn... dann springe dort hin "UweD hilfe" von: Alex
Geschrieben am: 10.02.2005 11:15:09

Alles klar, vielen Dank funktioniert sehr gut.

Gruß

Alex


 Bild

Beiträge aus den Excel-Beispielen zum Thema "wenn... dann springe dort hin "UweD hilfe""