Aufgabenplanung .vbs Skript zur Kovertierung .xls in .csv funktioniert nicht
Guten Tag,
ich würde gerne das .vbs (siehe unten) automatisch ausführen per Aufgabenplanung. Das Skript wird aber nur ausgeführt, wenn "nur Ausführen, wenn Benutzer angemeldet" ausgewählt ist. Aber es soll immer ausgeführt werden, egal welcher Benutzer angemeldet ist. Sobald ich es umstelle und einen Benuter hinterlege führt es das Skript nicht mehr aus. Als Benutzer habe ich Administrator, mein Domain Konto und das Konto system getestet.
So sieht der Aufruf des Skripts in der Aufgabenplanung aus.
Blockiert das Excel? Gibt es da Einstellungen, die man setzten muss?
ich würde gerne das .vbs (siehe unten) automatisch ausführen per Aufgabenplanung. Das Skript wird aber nur ausgeführt, wenn "nur Ausführen, wenn Benutzer angemeldet" ausgewählt ist. Aber es soll immer ausgeführt werden, egal welcher Benutzer angemeldet ist. Sobald ich es umstelle und einen Benuter hinterlege führt es das Skript nicht mehr aus. Als Benutzer habe ich Administrator, mein Domain Konto und das Konto system getestet.
So sieht der Aufruf des Skripts in der Aufgabenplanung aus.
Blockiert das Excel? Gibt es da Einstellungen, die man setzten muss?
Dim i
Dim xlsDatei
Dim csvDatei
Dim strDate, strWs
Dim fso, oExcel, wb, ws
Set fso = CreateObject("Scripting.FileSystemObject")
Set oExcel = WScript.CreateObject("Excel.Application")
Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")
'---------------------------------------------------------------------
'---------------------------------------------------------------------
'aktuelles Jahr
strDate = cstr(Year(now))
'Dateipfade
' xlsDatei = "\\server\firma\we\BestNr.xls"
csvDatei = "\\server\caq-system\Scan\" & strDate & ".csv"
txtFehler = Left(txtFehler,InstrRev(csvDatei,"\"))
'Datei kopieren
If fso.FileExists(xlsDatei)= true then
'Datei öffnen
Set wb = oExcel.Workbooks.Open(xlsDatei)
oExcel.DisplayAlerts = False
oExcel.Visible = false
'Tabellenblätter werten
For i = 1 to wb.Worksheets.count
If wb.Worksheets(i).Name = strDate then
'Speichern
wb.Worksheets(i).Activate
wb.SaveAs csvDatei, 6, , , , , , , , , , True
'Beenden
wb.Saved = false
oExcel.Application.Quit
Exit For
End If
If i = wb.Worksheets.count then
txtFehler = txtFehler & "Fehler_keinWb_" & date() & ".txt"
Set objFile = objFileSystem.CreateTextFile(txtFehler,True)
objFile.Close
End If
Next
Else
txtFehler = txtFehler & "Fehler_keineXLS_" & date() & ".txt"
Set objFile = objFileSystem.CreateTextFile(txtFehler,True)
objFile.Close
End If
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 465638
Url: https://administrator.de/contentid/465638
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
2 Kommentare
Neuester Kommentar
Servus,
als erstes muss der jeweilige User natürlich entsprechende Zugriffsrechte auf die UNC-Pfade besitzen, davon gehe ich mal aus, wenn nicht nachholen.
Zweitens muss man bei COM-Automation in der Aufgabenplanung etwas beachten und zwar folgendes
Hatten wir mal in diesem Thread:
Per Batch in Aufgabeplanung XLS in CSV umwandeln
Windows erwartet je nachdem mit welcher Bitness Office installiert ist einen Ordner namens Desktop im Systemprofile-Pfad.
oder
Windows erstellt diesen Ordner nicht selbst, existiert dieser nicht weigert es sich COM-Aufgaben mit Word/Excel & Co. per Aufgabenplanung unbeaufsichtigt auszuführen.
Wenn man sein VBS Skript die Fehler alle loggen lässt sieht man das auch sehr schön.
Grüße Uwe
als erstes muss der jeweilige User natürlich entsprechende Zugriffsrechte auf die UNC-Pfade besitzen, davon gehe ich mal aus, wenn nicht nachholen.
Zweitens muss man bei COM-Automation in der Aufgabenplanung etwas beachten und zwar folgendes
Hatten wir mal in diesem Thread:
Per Batch in Aufgabeplanung XLS in CSV umwandeln
Windows erwartet je nachdem mit welcher Bitness Office installiert ist einen Ordner namens Desktop im Systemprofile-Pfad.
C:\Windows\SysWOW64\config\systemprofile\Desktop
(für 32Bit Office)oder
C:\Windows\system32\config\systemprofile\Desktop
(für 64Bit Office)Windows erstellt diesen Ordner nicht selbst, existiert dieser nicht weigert es sich COM-Aufgaben mit Word/Excel & Co. per Aufgabenplanung unbeaufsichtigt auszuführen.
Wenn man sein VBS Skript die Fehler alle loggen lässt sieht man das auch sehr schön.
Grüße Uwe