Met behulp van VBA, hoe kan ik:
1.) Controleer hier. Doe in principe dit:
Function FileExists(ByVal FileToTest As String) As Boolean
FileExists = (Dir(FileToTest) <> "")
End Function
Ik'laat het aan jou over om de verschillende nodige foutafhandelingen uit te zoeken, maar dit zijn enkele van de foutafhandelingen die ik'zou overwegen:
2.) Hoe verwijder je een bestand. Kijk naar dit. Gebruik in principe het Kill commando, maar je moet rekening houden met de mogelijkheid dat een bestand alleen-lezen is. Hier's een functie voor je:
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
Nogmaals, ik'laat de foutafhandeling aan jou over en nogmaals dit zijn de dingen die ik'zou overwegen:
Moet dit zich anders gedragen voor een map vs. een bestand? Moet een gebruiker expliciet moeten aangeven dat hij een directory wil verwijderen?
Wil je dat de code automatisch het alleen-lezen-attribuut reset of moet de gebruiker een soort aanwijzing krijgen dat het alleen-lezen-attribuut is ingesteld?
EDIT: Markering van dit antwoord als community wiki, zodat iedereen het kan wijzigen indien nodig.
In VB is het normaal Dir
om de directory van het bestand te vinden. Als het niet leeg is dan bestaat het en gebruik dan Kill
om het bestand te verwijderen.
test = Dir(Filename)
If Not test = "" Then
Kill (Filename)
End If