• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Eski Dosyaları Silme

  • Konbuyu başlatan Konbuyu başlatan askm
  • Başlangıç tarihi Başlangıç tarihi

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Kolay gelsin.
Aşağıdaki kodlarla yedek aldığım belgelerden 2 gün ve daha eski tarihli (dünden önceki belgeleri) evrakları siliyorum.
1- Bunun yerine örneğin son 10 kayıt dışındakileri silebilir miyim.
2- Mevcut günün öncesindeki günlerde yedek alınanlardan son 10 gün ve sadece en son kaydedilenleri bırakabilir miyim. Yani 10 gün öncesindeki tüm yedekleri silsin ve 10 gün içerisinde de günlük bir tane yedek kalsın. O da en son kaydedilen olsun.

Bu iki işlem ayrı ayrı işlem. Aynı örnek için değil.

Kod:
Sub Dosya_Sil()
 
    Dim Dosya As String, DosyaAd As String, yol As String
    Dim Tar As Date, i As Integer, dz() As String
 
    yol = ThisWorkbook.Path & "\Eski\"
    
    Application.ScreenUpdating = False
    If Right(yol, 1) <> "\" Then yol = yol & "\"
    Dosya = Dir(yol)
    If Dosya = "" Then MsgBox "Yanlış Dosya Yolu...": Exit Sub
 
    Do While Dosya <> ""
        If UCase(Dosya) Like "*.XL*" Then
            i = i + 1
            ReDim Preserve dz(1 To 2, 1 To i)
            dz(1, i) = Dosya
            dz(2, i) = FileDateTime(yol & Dosya)
            If FileDateTime(yol & Dosya) > Tar Then
                Tar = FileDateTime(yol & Dosya)
                DosyaAd = Dosya
            End If
        End If
        Dosya = Dir()
    Loop
 
    For i = 1 To UBound(dz, 2)
        If Not dz(2, i) > Tar - 1 Then Kill yol & dz(1, i)
    Next i
 
End Sub
 
Geri
Üst