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

Printed on: April 20, 2024 at 03:04 o'clock

Mitglied: 132272
Solution 132272 Feb 28, 2017 updated at 09:50:37 (UTC)
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ß
Member: S4kar97
S4kar97 Feb 28, 2017 updated at 09:53:56 (UTC)
Goto Top
Habe wie beschrieben die Ordner erstellt und nun läuft das Skript ohne Probleme durch. Habe schon stundenlang rumprobiert :D

Danke!