WinCC flex 2008: Fehler im Script

Da_Basco

Level-1
Beiträge
104
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend,

ich habe ein Script erstellt, das Dateien aus einem bestehenden Ordner in einem vorher generierten Ordner kopieren und im Anschluss den Quellordner löschen soll:

Code:
'--------------------------------------------------------------------
'-------------------------Trend Abschluss---------------------------
'--------------------------------------------------------------------
 
'---------------Trendaufzeichnung sperren-------------------------
SmartTags("trend_run")=False
 
'------------------Skriptvariablen deklarieren-----------------------
Dim fso,f,cf,df, Kalenderwoche, Jahr, Quelle, Ziel
 
'--------------------Skriptvariablen zuweisen------------------------- 
Kalenderwoche = DatePart("ww", Date(), vbMonday, vbFirstFourDays)
Jahr = Year(Now)
Quelle = "C:\TREND"
Ziel = "C:\TREND_KW"&Kalenderwoche&"_"&Jahr
Set fso = CreateObject("Scripting.FileSystemObject") 
 
'--------------------Zielordner generieren------------------------- 
Set f = fso.CreateFolder(Ziel)
 
'-------------Quellordner auf Zielordner umkopieren----------------
Set cf = fso.CopyFolder(Quelle, Ziel)
 
'---------------------Quellordner löschen--------------------------
'Set df = fso.DeleteFolder(Quelle)
Set fso=Nothing
 
'---------------------Trenderstellung aufrufen--------------------------
A_trend_erstellung

Wenn ich jetzt das Script in der RT aufrufe dann erscheint die Fehlermeldung "Fehler: Objekt erforderlich... (Bild im Anhang). Zeile 28 ist die mit "Set cf = fso.CopyFolder(Quelle, Ziel)"
Diese Funktion wird aber ausgeführt weil die Dateien in den durch die vorher ausgeführte Funktion erstellten Ordner "Ziel" kopiert werden. Die nachfolgende Funktion "Delete Folder" wird nicht mehr ausgeführt.

Weiss jemand von euch Rat?

Vielen Dank schon mal!
 

Anhänge

  • Objekt erforderlich.jpg
    Objekt erforderlich.jpg
    53,1 KB · Aufrufe: 23
Nein, das ist ein überbleibsel aus der Fehlersuche.
Wenn ich versuche "fso.CopyFolder" auszukommentieren, dann hängt sich das Skript nach der DeleteFolder-Methode auf, mit derselben Fehlermeldung.
Sprich der Ordner "Quelle" wird gelöscht, jedoch das Skript "A_Trenderstellung" wird nicht mehr aufgerufen. :confused:
 
Kann es sein, dass du wie hier beschrieben:

http://msdn.microsoft.com/de-de/library/ms174420.aspx

Setdatefirst vergessen hast und daher einen Null String im Ziel stehen hast?


bike

Wenn dem so wäre, dann würde doch die Methode "CreateFolder" auch nicht funktionieren, oder? Die funktioniert jedoch prima.

@RN

Den ganzen Code habe ich von diesem Thread abgekupfert und entsprechend angepasst.

http://www.sps-forum.de/showpost.php?p=86716&postcount=2

Aber ich könnte mal versuchen die Befehle so anzupassen wie du geschrieben hast.
 
Was mir gerade noch aufgefallen ist, Ordner erzeugst du in etwa so
Code:
If Not fso.FolderExists("X:\y") Then fso.CreateFolder("X:\y")

vielleicht vergisst du das Beispiel aus, von dir genannten Thread
 
Vielen Dank an euch, wie ihr geschrieben habt funktioniert es!

Hier nochmal der Code:

Code:
'--------------------------------------------------------------------
'-------------------------Trend Abschluss---------------------------
'--------------------------------------------------------------------
 
'---------------Trendaufzeichnung sperren-------------------------
 
SmartTags("trend_run")=False
 
'------------------Skriptvariablen deklarieren-----------------------
 
Dim fso, Kalenderwoche, Jahr, h,m,s, Quelle, Ziel
 
'--------------------Skriptvariablen zuweisen------------------------- 
 
Kalenderwoche = DatePart("ww", Date(), vbMonday, vbFirstFourDays)
Jahr = Year(Now)
h = Hour(Now)
m = Minute(Now)
s = Second(Now)
Quelle = "C:\TREND"
Ziel = "C:\TREND_KW"&Kalenderwoche&"_"&Jahr&"_"&h&m&s
Set fso = CreateObject("Scripting.FileSystemObject")
 
'--------------------Zielordner generieren------------------------- 
If Not fso.FileExists (Ziel) Then
fso.CreateFolder Ziel
End If
 
'-------------Quellordner auf Zielordner umkopieren----------------
 
fso.CopyFolder Quelle, Ziel
 
'---------------------Quellordner löschen--------------------------
 
fso.DeleteFolder Quelle
Set fso=Nothing
 
'---------------------Trenderstellung aufrufen--------------------------
 
A_trend_erstellung
 
Zurück
Oben