フォルダ内のすべてのファイルを削除しようとしています。今日VBAに保存されていないフォルダ内のすべてのファイルを削除します
フォルダにのみ.csv
と.txt
ファイルタイプを持つことになりますので、私はちょうどそれらの種類を削除するには、自分のコードを作りました。任意のファイルタイプを削除する方法はありますか?
これは私が今持っているコードです:
Sub delete()
Dim MyFolder As String
Dim MyFileTxt As String
Dim MyFileCSV As String
MyFolder = "C:\Users\Desktop\pdf_converter_test"
MyFileTxt = Dir(MyFolder & "\*.txt")
MyFileCSV = Dir(MyFolder & "\*.csv")
Do While FileDateTime(MyFolder & MyFileTxt) <> Date
On Error Resume Next
If FileDateTime(MyFolder & MyFileTxt) <> Date Then
Kill MyFolder & MyFileTxt
MyFileTxt = Dir
End If
Loop
Do While FileDateTime(MyFolder & MyCSV) <> Date
On Error Resume Next
If FileDateTime(MyFolder & MyFileCSV) <> Date Then
Kill MyFolder & MyFileCSV
MyFileCSV = Dir
End If
Loop
End Sub
ループは永遠に行くように見えるので、条件しDOに問題があります。しかし、それはまた私がそれを望むファイルを削除しません。
ご協力いただければ幸いです。ありがとうございました。
「Dir」の「インスタンス」を2つ保存することはできません。 – Comintern
あなたの質問は答えられましたが、私はあなたが 'Do While'のように' On Error resume next'を使用しないことをお勧めします...何らかのエラーが発生した場合、それをスキップしてループが実行されます永遠に、常にエラーをスキップします。非常に悪い考え。何らかの出口機構が必要です。 –