loop and delete

  • Thread starter Thread starter Peterke
  • Start date Start date
P

Peterke

This is my problem:

I want to loop through all the files in a folder, and delete all files that
are not called "ABC_QUALITY_RATE.xls"
I think i'm close, but he's not very happy with the "Kill
..FoundFiles(WegErmee)"...

What am i doing wrong? This is what i have so far:


Sub Test()
Dim Bandiet As Integer

Set fs = Application.FileSearch

Application.ScreenUpdating = False
Application.DisplayAlerts = False



With fs
.NewSearch
.LookIn = "C:\DATA\ABC"

If .Execute > 0 Then

For Bandiet = 1 To .FoundFiles.Count

If .Filename <> "ABC_QUALITY_RATE.xls" Then

For WegErmee = 1 To .FoundFiles.Count

GoTo Verwijderen

Next WegErmee

End If

Next Bandiet

End If

End With

Verwijderen:

Kill .FoundFiles(WegErmee)

Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

Please advise,
Peter
 
That's because .FoundFiles should be within the with statement. Right
now it falls outside and Mr. VBA gets confused. Change it to:


Next Bandiet
End If
Verwijderen:
Kill .FoundFiles(WegErmee)
End With
 
If using FileSearch, I would modify your code like this.

Sub Test()
Dim Bandiet As Integer
Set fs = Application.FileSearch
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With fs
.NewSearch
.LookIn = "C:\DATA\ABC"
If .Execute > 0 Then
For Bandiet = 1 To .FoundFiles.count
If .FoundFiles(Bandiet) <> "C:\DATA\ABC" & _
Application.PathSeparator & "ABC_QUALITY_RATE.xls" Then
Kill .FoundFiles(Bandiet)
End If
Next Bandiet
End If
End With
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

keizi
 
Thanks Kletcho!
That was the trick that did it! But now i've encountered another problem:
The files that have to be deleted have no extension ==> "Mr. Vba" does
not recognize it as a "File". What can i do about that?

Regards,
Peter
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top