n集間前の月曜日の日付を計算するVBスクリプト

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

指定された日付より前の月曜日の日付を取得する関数

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です