n週間前の月曜日が何月何日だったのかを出力するVBスクリプトです。
ログの提出を1週間分まとめて提出しなければならない場合の定型処理等に。
必要に駆られて作り方を検索してみたら、2004年1月23日のMicrosoftのサポートオンラインにVBAの記載があったので、これをVBスクリプト用に少しだけ変更して、一緒に任意の週遡れるように
引数を追加しました。
例えばGetMonDate(date,1)だと1週間前の月曜日を表示し、GetMonDate(date,2)だと2週間前の月曜日の日付を返します。
Wscript.Echo GetMonDate(date,1) Function GetMonDate(CurrentDate,n) '変数の型がDate以外ならnullを返す If VarType(CurrentDate)<>7 then GetMonDate=Null Else Select Case WeekDay(CurrentDate) Case 1 ' Sunday GetMonDate=CurrentDate-6+(-7*n) Case 2 ' Monday GetMonDate=CurrentDate+(-7*n) Case Else ' Tuesday..Saturday GetMonDate=CurrentDate-WeekDay(CurrentDate)+2+(-7*n) End Select End If End Function