2017-05-24 1 views
1

J'ai le code ci-dessous pour essayer de rechercher tous les fichiers dans mon dossier de téléchargement, puis les supprimer tous, mais il renvoie un message d'erreur basé sur la fonction kill ne pas avoir assez d'arguments?Supprimer tous les fichiers dans un dossier

Sub Kill() 

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

End Sub 

Merci,

Répondre

3

Ajouter une référence à Microsoft Scripting Runtime dans l'environnement VBA

ref

scr

Déclarez dans une Module la ligne suivante

Global fso As New FileSystemObject 

Vous pouvez maintenant utiliser toutes les fonctions d'E/S agréables et modernes. Par exemple:

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 
+0

J'ai trouvé ce que mon problème est, je suis en train de supprimer tous les fichiers qui se automatiquement enregistrés dans le répertoire C: Téléchargements sur mon ordinateur afin qu'ils ne sont pas dans un dossier dans cet endroit , juste dans les utilisateurs, puis les téléchargements. Des idées sur la façon dont je peux effacer tous mes téléchargements via VBA? – Brentford123

+0

Dans 'C: \ Downloads', ou' C: \ Users \ \ Downloads'? S'il vous plaît [modifier] (https://stackoverflow.com/posts/44162807/edit) la question avec le _specifics_ et être clair de votre intention. Peut-être fournir un exemple de avant et après. – ja72

+0

Désolé je n'étais pas très clair, j'ai utilisé le codage que vous avez mis ci-dessus mais parce que C: \ Downloads n'est pas un dossier, il ne supprime aucun fichier. Si je mets un dossier dans l'emplacement, il supprimera ce dossier, mais je veux effacer tous les fichiers dans les téléchargements. Cela a-t-il du sens? Merci, – Brentford123