mit excel makro batch datei in jeweiligen ordner kopieren ausführen und wieder löschen?

1 Antwort

Hallo,

kopieren und wieder löschen ist auf jeden Fall möglich. Ich habe allerdings keine Ahnung wie Batchdateien funktionieren und daher auch nicht wie man sie per VBA ausführen würde. Im folgenden Code versucht es sie wie eine normale Textdatei zu öffnen:

Sub Batchcopy()
Dim objBatch As Object
Dim Bname As String, Bpfad As String
Dim Auspfad As String, ZPfad As String


Bpfad = ActiveSheet.Range("C1").Value 'Pfad der Ursprungsbatchdatei
Bname = ActiveSheet.Range("C2").Value 'Name der Ursprungsbatchdatei


Auspfad = Bpfad & "\" & Bname
ZPfad = ActiveWorkbook.Path & "\" & Bname


'Batch in Ordner der geöffneten Exceldatei kopieren
FileCopy Auspfad, ZPfad  'falls das fehlschlägt weil die Originaldatei geöffnet ist, kannst du die andere Variante ausprobieren:
'Set objBatch = CreateObject("Scripting.FileSystemObject")
'objBatch.CopyFile Auspfad, Hpfad


'Batch ausführen? (Datei öffnen)
ActiveWorkbook.FollowHyperlink ZPfad


'2 Sekunden warten, dann Batchdatei aus Ordner der geöffneten Exceldatei löschen
If Application.Wait(Now + TimeValue("0:00:02")) Then
 Kill Hpfad
End If


End Sub