Problem
Ich habe ein Makro angelegt, das aus einem Verzeichnis eine dort gespeicherte Datei regelmäßig importiert und deren Inhalte in eine Tabelle überträgt. Die Krönung dieses Makros wäre eine Funktion, die die Datei auf der Festplatte nach dem Import löscht. Eine Aktion „DateiLöschen“ oder ähnlich finde ich jedoch im Makroentwurf nicht!
Antwort:
Eine solche Aktion gibt es nicht. Sie können aber über „Ausführen – Code“ eine VBA-Funktion aufrufen, die diese Aufgabe erledigt. Legen Sie daher zunächst die folgende Funktion in einem vorhandenen oder neuen Modul an:
Function DelFile (strFName As String)
On Error Resume
Next Kill strFName
If Err<> 0 Then
Beep MsgBox „Datei “ & strFName & “ konnte nicht gelöscht werden…“
End If
End Function
In Ihrem Makro wählen Sie nun hinter den Aktionen für den Import die Aktion „AusführenCode“ aus. Für den Parameter „Funktionsname“ geben Sie zum Beispiel Folgendes ein:
DelFile
(„Z:\Datenaustausch\Bestellungen2007.xls“)
Die Angaben in Anführungszeichen ersetzen Sie dabei durch Laufwerk, Pfad und Name der gewünschten Datei.