s4kar97
Goto Top

VB-Script per Aufgabenplanung

Hallo,

Ich habe mir ein VB-Script erstellt, welches im Grunde ein Programm startet und diesem Parameter übergibt und die von dem Programm ausgegebene Datei weiterverarbeitet.
Das funktioniert auch alles ohne Probleme, solange ich es direkt per Doppelklick, Batch oder cmd aufrufe. Sobald ich aber versuche das Script per Aufgabenplanung zu starten, sehe ich, dass auf jeden Fall Zeile 6-10 ausgeführt werden. Aber der obere Part, nämlich das starten des Programm funktioniert nicht.

' Starten des Reportgenerators zum exportieren der Daten  
Set sh = CreateObject("WScript.Shell")  
sh.Run "D:\MessDas\User\Report\ReportGenerator.exe -Batch -MDR:D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT-Info_Stromerzeugung.mdr -SRC:D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung.xlsx -DST:D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.xlsx -User:zensiert -PW:zensiert", 0, True  

' Löschen der alten .csv ,falls vorhanden  
Set objFSO = CreateObject("Scripting.FileSystemObject")  
testFile = "D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.csv"  
If (objFSO.FileExists(testFile)) Then 
	objFSO.DeleteFile("D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.csv")  
End If

' Umwandeln der vom Reportgenerator erzeugten .xlsx in .csv  
Dim oExcel
Set oExcel = CreateObject("Excel.Application")  
Dim oBook
Set oBook = oExcel.Workbooks.Open("D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.xlsx")  
oBook.SaveAs "D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.csv", 6  
oBook.Close False
oExcel.Quit

' Kopieren der .csv in ein anderes Verzeichnis  
dim objFSO
set objFSO = CreateObject("Scripting.FileSystemObject")  
quelle ="D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.csv"  
ziel = "D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\Test\"  
objFSO.copyfile quelle, ziel

Das Programm wird mit höchsten Privilegien ausgeführt und ich habe als auszuführenden Benutzer sowohl den Administrator, als auch System getestet.
Es macht wie gesagt kein Unterschied, ob ich das VB-Script direkt eintrage oder ob ich eine.bat eintrage, welche das Script ausführen soll.
Laufen soll das Script auf einem Win2k8R2 Server und das Laufwerk D:\ ist lokal.

Was könnten Gründe sein, dass per Aufgabenplanung wie gesagt die ersten 3 Zeilen nicht ordnungsgemäß ausgeführt werden?

mfg S4kar97

Content-Key: 330698

Url: https://administrator.de/contentid/330698

Ausgedruckt am: 19.03.2024 um 11:03 Uhr

Mitglied: 132272
Lösung 132272 28.02.2017 aktualisiert um 10:50:37 Uhr
Goto Top
Das liegt daran das im Skript Excel-COM-Automation gemacht wird. Windows braucht hier einen Desktop-Ordner im Systemprofil, ohne den laufen solche Skripte im Taskplaner nicht oder brechen mit nichtssagenden Fehlermeldungen ab, hier steht's detailliert:
Per Batch in Aufgabeplanung XLS in CSV umwandeln

Ebenso muss dein Programm das Ausführen ohne GUI (Console-Session) natürlich unterstützen.

Gruß
Mitglied: S4kar97
S4kar97 28.02.2017 aktualisiert um 10:53:56 Uhr
Goto Top
Habe wie beschrieben die Ordner erstellt und nun läuft das Skript ohne Probleme durch. Habe schon stundenlang rumprobiert :D

Danke!