计算文件

时间:2017-01-09 15:39:57

标签: vbscript

我们有一些代码会在处理之前根据3个不同的标准检查每个传入的文件(不是周末,不是在下午6点之后,而不是假期)。话虽如此,我需要弄清楚如何让它检查半小时(粗体部分)。我尝试添加+ mRelease > 30以及AND mRelease > 30,但都失败了。我一直在改变这一行

Do While (WeekDay(dRelease) = 1) OR (WeekDay(dRelease) = 7) OR (UBound(fHoliday) > -1) OR (tRelease >17)

以下是目前的代码:

result = ""
dRelease = Now
tRelease = CStr(Hour(Now))
mRelease = CStr(Minute(Now))

aHoliday = Array("01/02/2017","01/16/2017","05/29/2017","07/04/2017","09/04/2017","10/09/2017","11/23/2017","11/24/2017","12/25/2017","12/26/2017")
dNow = CStr(DatePart("m",Date)) + "/" + CStr(DatePart("d",Date)) + "/" + CStr(DatePart("yyyy",Date))
dMonth = "0" + CStr(Month(dRelease))
dDay = "0" + CStr(Day(dRelease))
dYear = CStr(Year(dRelease))
fHoliday = Filter(aHoliday,Right(dMonth,2) + "/" + Right(dDay,2) + "/" + dYear)
'fHoliday = Filter(aHoliday,dNow)
'result = UBound(fHoliday)
'result = Left(dRelease,10)
'result = CStr(DatePart("m",Date)) + "/" + CStr(DatePart("d",Date)) + "/" + CStr(DatePart("yyyy",Date))
'While release date is a weekend, or release date is a holiday
Do While (WeekDay(dRelease) = 1) OR (WeekDay(dRelease) = 7) OR (UBound(fHoliday) > -1) OR (tRelease >17)
    'increase release date by 1
    dRelease = dRelease + 1
    'result = dRelease
    'check for holiday
    dMonth = "0" + CStr(Month(dRelease))
    dDay = "0" + CStr(Day(dRelease))
    dYear = CStr(Year(dRelease))
    'fHoliday = Filter(aHoliday,Left(dRelease,10))
    fHoliday = Filter(aHoliday,Right(dMonth,2) + "/" + Right(dDay,2) + "/" + dYear)
    tRelease = 00
Loop

'Format the release date to the Esker deferred date/time standard.
dMonth = "0" + CStr(Month(dRelease))
dDay = "0" + CStr(Day(dRelease))
dYear = CStr(Year(dRelease))
dtCurrent = Right(dMonth,2) + "/" + Right(dDay,2) + "/" + dYear

If dRelease > Now Then
    tRelease = "00:" + mRelease
Else
    tRelease = CStr(Hour(Now)) + ":" + CStr(Minute(Now))
End If

result = dtCurrent + " " + tRelease

1 个答案:

答案 0 :(得分:0)

改变这个:

Do While (WeekDay(dRelease) = 1) OR (WeekDay(dRelease) = 7) OR (UBound(fHoliday) > -1) OR (tRelease >17)
  ...
Loop

进入这个:

If (WeekDay(dRelease) = 1) Or (WeekDay(dRelease) = 7) Or (UBound(fHoliday) > -1) Or (Time > CDate("16:30")) Then
  ...
End If