-> Hier kostenlos registrieren
Hey,
Ich arbeite an einem Skript und wollte die folgende Aufgabe erstellen:
Ich arbeite an einem Skript und wollte die folgende Aufgabe erstellen:
- Die täglich erstellten Dateien sollen in einem Monatsordner abgelegt werden (z.b.: January, February,...)
- Gibt es bereits einen Ordner vom Vorjahr, dann soll dieser gelöscht werden
z.B.: Am 01 Januar 2024 soll der Ordner Januar (mit den Dateien aus 2023) gelöscht werden.
In dem leeren Januar Ordner werden dann die neuen Dateien aus 2024 abgelegt
Code:
Sub DataLogging()
Dim fileName, folderName, fileLocation
Dim fso, fctl, KillDate, Path
Dim currentPosition, nextPosition
Dim currentDateTime, dataValues
Dim sDispatch, sTrainNo, sBlockTimes, sFreeRunningTimes, sSpeedAtFBR, sLiftCurrent, sTemperature, sWindDirection
Dim sWindSpeedAvg, sWindSpeedMin, sWindSpeedMax, sMaintenanceDispatch
fileName = Year(Now()) & "." & Month(Now()) & "." & Day(Now()) & ".csv"
Path = "Storage Card SD"
folderName = Path & Year(Now()) & "." & Month(Now())
fileLocation = folderName & fileName
'KillDate = DateAdd("yyyy", -1, Date)
currentDateTime = Year(Now()) & "." & Month(Now()) & "." & Day(Now()) & "/" & Hour(Time) & ":" & Minute(Time) & ":" & Second(Time)
'Check to see if folder structure exists, if not then create it
Set fso = CreateObject("FileCtl.FileSystem")
If (fso.Dir(folderName)) = "" Then
fso.MkDir folderName
End If
If Err.Number <> 0 Then
ShowSystemAlarm "Error # " & CStr(Err.Number)& " " & Err.Description
Err.Clear
End If
'Check to see if file exists - if not then create it
Set fctl = CreateObject("FileCtl.File")
fctl.Open fileLocation, 8
If Err.Number <> 0 Then
ShowSystemAlarm "Error # " & CStr(Err.Number)& " " & Err.Description
Err.Clear
End If
'set header bit high to print header row
sDispatch = SmartTags("Dispatch")
sTrainNo = SmartTags("TrainNo")
sBlockTimes = SmartTags("BlockTimes")
sFreeRunningTimes = SmartTags("FreeRunningTimes")
sSpeedAtFBR = SmartTags("speedAtFBR")
sLiftCurrent = SmartTags("LiftCurrent")
sTemperature = SmartTags("Temperature")
sWindDirection = SmartTags("WindDirection")
sWindSpeedAvg = SmartTags("WindSpeedAvg")
sWindSpeedMin = SmartTags("WindSpeedMin")
sWindSpeedMax = SmartTags("WindSpeedMax")
sMaintenanceDispatch = SmartTags("MaintenanceDispatch")
currentPosition = fctl.Loc
nextPosition = fctl.Seek
If currentPosition = 1 And nextPosition = 1 Then
fctl.LinePrint ("Date Time ; Dispatch ; TrainNo ; BlockTimes ; FreeRunningTimes ; speedAtFBR ; LiftCurrent ; Temperature ; WindDirection; WindSpeedAvg; WindSpeedMin; WindSpeedMax")
End If
dataValues = (currentDateTime & ";" & sDispatch & ";" & sTrainNo & ";" & sBlockTimes & ";" & sFreeRunningTimes & ";" & sSpeedAtFBR & ";" & sLiftCurrent & ";" & sLiftCurrent & ";" & sTemperature& ";" & sWindDirection & ";" & sWindSpeedAvg & ";" & sWindSpeedMin & ";" & sWindSpeedMax & ";" & sMaintenanceDispatch)
fctl.LinePrint dataValues
fctl.Close
End Sub
Zuletzt bearbeitet: