• DİKKAT

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

Klasör içinden dosya silmek

  • Konbuyu başlatan Konbuyu başlatan k0081
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Merhaba arkadaşlar;

D:\deneme\ klasörü içindeki tüm dosyaları buton yardımı ile nasıl silebilirim ?.. klasörde dosya yoksa ve D sürücüsünde klasör yoksa(deneme) hata versin..


yardımcı arkadaş(a) lara şimdiden teşekkürler..
 
bu işi direkt DOS komutu ile yapabilirsiniz.
bunun için koymuş olduğunuz butonun makrosuna

Kod:
 shell "del d:\deneme\*.*"

bu komut zaten ilgili klasörü bulamazsa hata verir...
ille de kontrol edeceğim derseniz, bir modül ekleyerek modül içeriğine

Kod:
Function DriveVarMi(drv)
   Dim fso, durum
   Set fso = CreateObject("Scripting.FileSystemObject")
   If fso.DriveExists(drv) Then
      durum = ("VAR")
   Else
    durum = ("YOK")
   End If
   maptamammi = durum
End Function

modülü ile driverin olup olmadığını kontrol edin...

buton olayına önce

Kod:
If maptamammi(d)="VAR" then
shell "del d:\deneme\*.*"
else
Msgbox "D sürücüsü bulunamadı"
End If

buraya koyacağınız kontrol ve mesajları geliştirebilirsiniz...


modül içeriğindeki
If fso.DriveExists(drv) Then
satırı, driverin var olup olmadığını test eder.
klasörü de test edeceğim diyorsanız;
Kod:
 fso.FolderExists(klasor)

yapısı ile test ederek, dönen function sonucunu kullanabilirsiniz.
 
Merhaba arkadaşlar;

D:\deneme\ klasörü içindeki tüm dosyaları buton yardımı ile nasıl silebilirim ?.. klasörde dosya yoksa ve D sürücüsünde klasör yoksa(deneme) hata versin..


yardımcı arkadaş(a) lara şimdiden teşekkürler..

Alternatif kod

Kod:
Sub dosyasil()
Dim fL As Object
Set fL = CreateObject("Scripting.FileSystemObject")
Klasor = "D:\deneme"
If fL.FolderExists(Klasor) = False Then
MsgBox Klasor & " klasor yok"
Exit Sub
End If
If fL.GetFolder(Klasor).Files.Count = 0 Then
MsgBox Klasor & " klasörün içinde dosya yok"
Exit Sub
Else
MsgBox fL.GetFolder(Klasor).Files.Count & " dosya var"
End If
For Each Dosya In fL.GetFolder(Klasor).Files
fL.DeleteFile Dosya
Next
MsgBox "işlem tamam"
End Sub
 
halit3

Hocam çok teşekkür ediyorum, elinize - Yüreğinize sağlık.. Tamamdır..
 
Halit hocam hepsini aynı sub altında toplamış, güzel olmuş, eline sağlık

ben bu tür işlemlerimi genelde subın içine gömmek yerine modüller aracılığı ile yaparım, farklı zamanlarda farklı yerlerde ihtiyaç olduğunda tekrarlamamak adına. Sanırım siz de ilgili kodu modul içine değil, sub a koydunuz diye böyle oldu.

(insert menüsünden module eklemelisiniz.)
 
Geri
Üst