ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   loop and delete (https://www.excelbanter.com/excel-programming/357304-loop-delete.html)

Peterke

loop and delete
 
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



Kletcho

loop and delete
 
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


kounoike[_2_]

loop and delete
 
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

"Peterke" wrote in message
...
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




Peterke

loop and delete
 
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
"Kletcho" schreef in bericht
oups.com...
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





All times are GMT +1. The time now is 11:48 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com