web-dev-qa-db-ja.com

フォルダー内のすべてのファイルを削除する

ダウンロードフォルダー内のすべてのファイルを検索し、それらをすべて削除する以下のコードがありますが、十分な引数がないkill関数に基づいたエラーメッセージが返されますか?

Sub Kill ()

Dim aFile As String
aFile = "C:\Test\Test\Downloads\*.*"
If Len(Dir$(aFile)) > 0 Then
    Kill aFile
End If

End Sub

おかげで、

4
Brentford123

VBA環境でMicrosoft Scripting Runtimeへの参照を追加する

ref

scr

Moduleで次の行を宣言します

Global fso As New FileSystemObject

これで、すべてのナイスおよびモダンI/O機能を使用できます。例えば:

Public Sub TDELFOL()    
    Dim path As String, f As File
    path = fso.GetSpecialFolder(TemporaryFolder)
    path = fso.BuildPath(path, "MyTempFolder")
    If fso.FolderExists(path) Then
        For Each f In fso.GetFolder(path).Files
            f.Delete Force = True
        Next
        fso.DeleteFolder path, Force = True
    End If
End Sub
3
ja72

マクロは組み込み関数として名前を付ける必要があります。同じコーディングでマクロを変更するだけで問題が解決します...

サブキル1()

Dim aFile As String aFile = "C:\ Test\Test\Downloads *。*" If Len(Dir $(aFile))> 0 Then Kill aFile End If

End Sub

より簡単な方法:

Sub Del()
  Kill "C:\FolderName\*.*"
End Sub
1
Delmar Silva