En utilisant VBA, comment puis-je :
1.) Vérifiez [ici][1]. En gros, faites ceci :
Function FileExists(ByVal FileToTest As String) As Boolean
FileExists = (Dir(FileToTest) <> "")
End Function
Je vous laisse le soin de déterminer les différents traitements d'erreur nécessaires, mais ces éléments font partie de ceux que je prendrais en considération :
2.) Comment supprimer un fichier. Regardez [ceci][2] En fait, vous utilisez la commande Kill mais vous devez tenir compte de la possibilité qu'un fichier soit en lecture seule. Voici une fonction pour vous :
Sub DeleteFile(ByVal FileToDelete As String)
If FileExists(FileToDelete) Then 'See above
' First remove readonly attribute, if set
SetAttr FileToDelete, vbNormal
' Then delete the file
Kill FileToDelete
End If
End Sub
Encore une fois, je vous laisse le soin de gérer les erreurs et ce sont les éléments que je prendrais en compte :
Le comportement doit-il être différent selon qu'il s'agit d'un répertoire ou d'un fichier ? L'utilisateur doit-il indiquer explicitement qu'il veut supprimer un répertoire ?
Voulez-vous que le code réinitialise automatiquement l'attribut "lecture seule" ou faut-il indiquer à l'utilisateur que l'attribut "lecture seule" est activé ?
EDIT : Marquage de cette réponse comme wiki communautaire afin que chacun puisse la modifier si nécessaire.
[1] : http://www.tek-tips.com/faqs.cfm?fid=1936 [2] : http://word.mvps.org/faqs/macrosvba/DeleteFiles.htm
En VB, on utilise normalement Dir
pour trouver le répertoire du fichier. S'il n'est pas vide, c'est qu'il existe et il faut alors utiliser Kill
pour se débarrasser du fichier.
test = Dir(Filename)
If Not test = "" Then
Kill (Filename)
End If