0

現在、VB スクリプトを使用して、HP アプリケーション ライフサイクル管理ツールでワークフロー スクリプトを定義する作業を行っています。

私の問題は、特定のスプリント (時間枠) でさまざまな開発者が行った努力を計算するための Excel チャートを生成する必要があることです。同じ条件を生成する過程で、チャートから週末の日付 (つまり、土曜日と日曜日) を削除することです。スプリントの開始日が週末の場合、日付は自動的に次の月曜日に初期化され、スプリントの終了日が週末の場合、終了日はちょうど過ぎた金曜日として表示されます。この2つの条件を確認しました。この 2 日間の間にある土日を削ろうとしています。同じことで私を助けてください。また、私の側からの入力が必要な場合はお知らせください。

4

1 に答える 1

0

@Sabaresh、これがあなたが探しているものだと思います。

ヒント: 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
于 2012-08-17T23:58:20.007 に答える