Kill ve Error 53

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
423
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
Arkadaşlar merhaba,

Shell websitesinden kod ile dosya indiriyorum ve dosyanın adı "() Shell FiloPlatform Araç Takip Araç Raporları Toplam Mesai Raporu" şeklinde. Bu dosyanın adını kod ile değiştirebiliyorum. Ama yeni isimli dosyadan sonra kalan bu dosyayı silmek istediğimde Runtime error 53 File Not Found hatası alıyorum. Elle yazdığım hiçbirşey yok ve kod kendi içinde ismi alıyor ve nasıl dosyayı bulamıyor anlayamadım. Saatlerdir Kill fonksiyonunun binbir türlü halini denedim. Başarılı olamadım. Kod isim değiştiriyor silmiyor. Hatta klasör içine dosyayı manuel taşıdım görüyor ama bulunamadı diyor. Bilmediğim bir detay var mutlaka. Kullanmaya çalıştığım kodu aşağıda paylaşıyorum. Değerli bilgilerinizi paylaşırsanız çok memnun olurum;

Kod:
Dim fso, oFile, oFolder   
    pvDir = Dir(ThisWorkbook.Path & "\1\" & "*.*", vbHidden + vbSystem)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oFolder = fso.GetFolder(Thisworkbook.path)
    For Each oFile In oFolder.Files
            vFil = pvDir & oFile.Name
            fso.DeleteFile vFil
    Next
 

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
423
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
Dosya adının uzun olmasından olabilir mi acaba?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Anlamak amacı ile yazıyorum bu kodu bir dene A1 hücresine sizin düzenlediğiniz kod silinecek dosyanın adını yazıyor. acaba silmek istediğiniz dosyanın adresi adı sileceğiniz dosya ile aynımı

Rich (BB code):
Dim fso, oFile, oFolder
    pvDir = Dir(ThisWorkbook.Path & "\1\" & "*.*", vbHidden + vbSystem)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oFolder = fso.GetFolder(ThisWorkbook.Path)
    For Each oFile In oFolder.Files
            vFil = pvDir & oFile.Name
            Cells(1, 1).Value = vFil
            'fso.DeleteFile vFil
    Next
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
kod sanki böyle olmalı gibi geliyor bana
Kod:
Private Sub CommandButton1_Click()
Dim fso, pvDir
pvDir = ThisWorkbook.Path & "\1\" & Dir(ThisWorkbook.Path & "\1\" & "*.*", vbHidden + vbSystem)
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile pvDir

End Sub
 

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
423
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
Halit Bey yanıtlarınız için teşekkür ederim. Dosya adına hiçbirşekilde müdahale etmiyorum. Yani masaüstüne inen dosyayı For Each ile döngü kendisi buluyor içerisinde "FiloPlatform" ifadesi varsa sil şeklinde if yapısı da kurdum. Bulduğu gördüğü halde silmiyor. Son mesajınızdaki revizyonu da yaptım yine Error53 hatasını verdi. Çok şaşırıyorum çünkü hem görüyor hem silmiyor
 

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
423
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
ilave olarak sizinde tavsiyenizde olduğu gibi bir yerde hata yapmışımdır düşüncesi ile bir hücreye dosyanın ismini de yazdırdım. Sonuç aynı maalesef :mad:
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Dosyanın bulunduğu klasörün ekran görüntüsünü eklermisiniz tabi eklediğiniz ekran görüntüsünde klasörün adresi yani konumunu da göstersin.
 

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
423
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
Halit Bey ilginize çok teşekkür ederim. Ekli görsel umarım yardımcı olur. Başlık kısmında adres görünüyor ve klasör içeriğinde tek dosya var.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Adres kısmında sadece 1 gözüküyor orada yazan yerin adresi de lazım birde bu kodu çalıştırdığın dosyanın adresi de önemli
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bu kod bir klasörün içindeki FiloPlatform adı geçen bütün dosyaları silmekte

Rich (BB code):
Sub deneme()
Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path 'Klasor.Items.Item.Path
If InStr(1, Kaynak, "{") > 0 Then GoTo atla
Liste (Kaynak)
MsgBox "işlem tamam"
Else
atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If
Set Obj = Nothing
Set Klasor = Nothing

End Sub

Private Sub Liste(Klasor As String)

Dim fL As Object, f As Object
Set fL = CreateObject("Scripting.FileSystemObject")
For Each Dosya In fL.GetFolder(Klasor).Files
If Dosya Like "*" & "FiloPlatform" & "*" & "*" = True Then
fL.DeleteFile Dosya
End If
Next

On Error GoTo sonraki
For Each fL In fL.GetFolder(Klasor).SubFolders
Liste (fL.Path)
sonraki:
Next

Set fL = Nothing
End Sub
 

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
423
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
Süpersiniz varya. Çok teşekkür ederim. Gerçekten süper oldu. Son paylaştığınız kod üzerinde ufak bir revizyonla masaüstünde bulunan 1 isimli klasör içindekileri sildirdim. Dosya da masaüstünde bulunuyordu.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Teşekkürler iyi çalışmalar
 
Üst