Ich möchte eine CSV Liste mit TaskSheduler automatisiert an jemanden mailen.
Dazu habe ich ein Makro geschrieben welches mir die Datei ausliest, ein Mail erzeugt und dieses versendet.
Diese Arbeitsmappe:
Private Sub Workbook_Open()
EmailDirectSend
Application.Quit
End Sub
Modul:
Sub EmailDirectSend()
Application.DisplayAlerts = False
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = "mail@adress.ch"
.Subject = "Wöchentliche Bestände"
.Body = "Hallo zusammen. " & Chr(13) _
& "Take care" & Chr(13) _
& "Liebe Grüsse" & Chr(13) _
& "me, my self and I"
.Attachments.Add "C:\Users\name\Documents\myFile.csv"
.Send
End With
ActiveWorkbook.Save
Application.DisplayAlerts = True
Application.Quit
End Sub
Dieses wird gestartet durch eine Batchdatei
@echo off
cd C:\Users\Name\Documents\myMakro.xlsm
@ping -n 60 localhost> nul
taskkill /im excel.exe /F/code>
Wenn ich dieses Batfile per Doppelklick starte funktioniert es prächtig. Excel startet, das Makro wird ausgeführt, ich erhalte ein mail, excel schliesst sich.
Über den TaskSheduler oder direkt über CMD gestartet, startet zwar Excel, bleibt aber lange Zeit hängen.
Nach längerer Zeit als im Bat-File verzögert, schliesst sich das File mit der Meldung
"SUCCSES: The process "Excel.exe" with PID 19952 has been terminatet"
Jedoch, nichts passiert. Die Aufgabe wird nicht ausgeführt.
Weiss da jemand Rat?
Ich bin schon stundenlang am Forschen im Internet und finde keinen Ansatz.
Viele Grüsse
Joe