Требуется пояснение в VB Script для выполнения однодневных вычислений
В настоящее время я работаю над определением сценариев рабочих процессов в инструменте управления жизненным циклом приложений HP с использованием VB Script.
Моя проблема в том, что мне нужно сгенерировать таблицу Excel для расчета усилий, приложенных различными разработчиками в конкретном спринте (таймфрейме). В процессе генерации того же самого условия я должен исключить даты выходных (то есть субботу и воскресенье) из графика. Если начальная дата Sprint выпадает на выходные, дата должна автоматически инициализироваться следующим ближайшим понедельником, а если дата окончания спринта приходится на выходные, конечная дата должна отображаться как только что прошедшая пятница. Я подтвердил эти два условия. Я пытаюсь сбрить субботу и воскресенье, которые проходят между этими двумя днями. Пожалуйста, помогите мне в том же. Также, пожалуйста, дайте мне знать, если вам нужны какие-либо материалы с моей стороны.
1 ответ
@ Сабареш, я думаю, это то, что ты ищешь.
Совет: см. Этот ответ для получения информации о загрузке авторитетного справочника Microsoft по WSH в виде файла справки Windows.
Option Explicit
Dim dCandidateDate, dActualStartDate, dActualEndDate
dCandidateDate = CDate("2012/08/18")
dActualStartDate = SprintStartDate(dCandidateDate)
dCandidateDate = CDate("2012/09/16")
dActualEndDate = SprintEndDate(dCandidateDate)
WScript.Echo "Sprint date range: " _
& dActualStartDate & " through " & dActualEndDate
'
' Return following Monday if dCandidateDate is
' Saturday or Sunday.
'
Function SprintStartDate(dCandidateDate)
Dim nWeekday : nWeekday = DatePart("w", dCandidateDate)
Select Case nWeekday
Case 7 ' Saturday
SprintStartDate = DateAdd("d", 2, dCandidateDate)
Case 1 ' Sunday
SprintStartDate = DateAdd("d", 1, dCandidateDate)
Case Else
SprintStartDate = dCandidateDate
End Select
End Function
'
' Return previous Friday if dCandidateDate is
' Saturday or Sunday.
'
Function SprintEndDate(dCandidateDate)
Dim nWeekday : nWeekday = DatePart("w", dCandidateDate)
Select Case nWeekday
Case 7 ' Saturday
SprintEndDate = DateAdd("d", -1, dCandidateDate)
Case 1 ' Sunday
SprintEndDate = DateAdd("d", -2, dCandidateDate)
Case Else
SprintEndDate = dCandidateDate
End Select
End Function