FabianBecker Posted July 9, 2015 #1 Share Posted July 9, 2015 Hallo zusammen, ich hoffe jemand von Euch kann mir weiterhelfen. Folgendes Problem: Wir haben einen Kunde mit einer Swyx 2015. BankHoliday funktioniert bis dato einwandfrei. Nun wollen wir das ganze um den Zeitfaktor erweitern, das heißt die Swyx soll aus der Bankholiday.txt eine Zeitspanne auslesen können. Z.B.: 07.01.2015 08:00 - 07.01.2015 12:00 Wir haben das ganze nach diesem Artikel erweitert: admin edit: broken link Leider funktioniert das nicht. Unser Code sieht wie folgt aus: ' FileOpen iomode Values Const fsoForReading = 1 Const fsoForWriting = 2 Const fsoForAppending = 8 ' Bankholiday Filename Const sBHFilename = "bankholiday.txt" Function IsBankHoliday ( vDate ) Dim wsh, fso, file Dim sDir, sFile, sLine Dim bReturn, nPos Dim bRange, aRange, vStart, vEnd Dim count bReturn = False sFile = "C:\test\bankholiday.txt" ' Create FileSystemObejct Set fso = CreateObject("Scripting.FileSystemObject") ' Open text file Set file = fso.OpenTextFile(sFile, fsoForReading) do while (not (file.AtEndOfStream)) and (not bReturn) sLine = file.ReadLine bRange = False aRange = Split(sLine, ";") if IsDate(aRange(0)) then vStart = CDate(aRange(0)) if UBound(aRange) > 0 then if IsDate(aRange(1)) then bRange = True vStart = CDate(aRange(1)) end if end if if not bRange then if (DateDiff("d", vDate, vStart) = 0) then bReturn = True else if (DateDiff("n", vStart, vDate) > 0) and _ (DateDiff("n", vEnd, vDate) < 0) then bReturn = True end if end if loop file.Close Set file = Nothing Set fso = Nothing IsBankHoliday = bReturn End Function In der Liste ist folgender Inhalt: 09.07.2015 14:07;09.07.2015 14:15 Dies greift aber nicht. Ich bekomme immer die Verbindung auf "No Bank Holiday". Wenn ich in die Liste 09.07.2015 schreibe zieht dies sofort. Die Regionaleinstellungen am Server passen (TT.MM.JJJ HH:MM) Das Skript an sich läuft, denn ich bekomme keine Fehler im Eventlog oder Trace. Könnt ihr mir hier weiterhelfen? Vielen Dank vorab! Freundliche Grüße Fabian Link to comment Share on other sites More sharing options...
Tom Wellige Posted July 9, 2015 #2 Share Posted July 9, 2015 Das Problem dürfte hier liegen: vStart = CDate(aRange(0)) if UBound(aRange) > 0 then if IsDate(aRange(1)) then bRange = True vStart = CDate(aRange(1)) end if end if Das sollte vEnd sein, soweit ich das auf den ersten Blick sehe... vStart = CDate(aRange(0)) if UBound(aRange) > 0 then if IsDate(aRange(1)) then bRange = True vEnd = CDate(aRange(1)) end if end if Link to comment Share on other sites More sharing options...
FabianBecker Posted July 9, 2015 Author #3 Share Posted July 9, 2015 Wow! Das ging schnell! Und es war auch noch die Lösung zu meinem Problem!Vielen vielen Dank Tom! Super Job! Link to comment Share on other sites More sharing options...
Tom Wellige Posted July 9, 2015 #4 Share Posted July 9, 2015 Manche Dinge springen einem direkt ins Augen, andere sucht man ewig... Freut mich, dass ich Dir helfen konnte Link to comment Share on other sites More sharing options...
Verswyxt Posted July 10, 2015 #5 Share Posted July 10, 2015 Ich möchte mich auch bei Euch beiden bedanken.Wird angepasst und dann bei der Zentrale live gehen. Link to comment Share on other sites More sharing options...
Tom Wellige Posted July 10, 2015 #6 Share Posted July 10, 2015 Nur der Vollständigkeit halber: es gibt auch noch eine andere Möglichkeit Feiertage ins Call Routing zu bekommen Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.