Wie kann ich mit VBA:
1.) Prüfen Sie hier. Tun Sie im Wesentlichen Folgendes:
Function FileExists(ByVal FileToTest As String) As Boolean
FileExists = (Dir(FileToTest) <> "")
End Function
Ich überlasse es Ihnen, die verschiedenen erforderlichen Fehlerbehandlungen herauszufinden, aber dies sind einige der Fehlerbehandlungen, die ich in Betracht ziehen würde:
2.) Wie man eine Datei löscht. Sehen Sie sich dies. Grundsätzlich verwenden Sie den Kill-Befehl, aber Sie müssen die Möglichkeit berücksichtigen, dass eine Datei schreibgeschützt ist. Hier's eine Funktion für Sie:
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
Auch hier überlasse ich Ihnen die Fehlerbehandlung, und auch hier sind dies die Dinge, die ich berücksichtigen würde:
Sollte sich dies für ein Verzeichnis anders verhalten als für eine Datei? Sollte ein Benutzer explizit angeben müssen, dass er ein Verzeichnis löschen möchte?
Soll der Code das Nur-Lese-Attribut automatisch zurücksetzen oder soll der Benutzer auf irgendeine Weise darauf hingewiesen werden, dass das Nur-Lese-Attribut gesetzt ist?
EDIT: Markierung dieser Antwort als Community-Wiki, so dass jeder sie bei Bedarf ändern kann.
Mit der folgenden Funktion können Sie prüfen, ob eine Datei vorhanden ist, und sie dann löschen.
Dim aFile As String
aFile = "c:\file_to_delete.txt"
If Len(Dir$(aFile)) > 0 Then
Kill aFile
End If
In VB ist es normalerweise Dir
um das Verzeichnis der Datei zu finden. Wenn es nicht leer ist, dann existiert es und dann wird Kill
benutzt, um die Datei loszuwerden.
test = Dir(Filename)
If Not test = "" Then
Kill (Filename)
End If