【VBScript】指定した日付の曜日を取得する


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript 逆引きリファレンス

VBScriptで指定した日付の曜日を取得する方法を解説します。

構文

ここでは、週の曜日を取得する Weekday関数を使用します。

書式

Weekday関数の書式です。

Weekday(date, [firstdayofweek])

引数

引数の説明です。

引数名説明省略
date日付を指定する。
型はVariant、数式、文字列式が使用可能。
不可
firstdayofweek週の最初の曜日を指定する定数を指定する。
つまり、週の曜日の基準値となる値を指定する。
既定値は、vbSunday(日曜日)
可能

第2引数[firstdayofweek]の指定に使用できる定数の一覧です。

定数説明
vbUseSystem0NLS(各国語サポート)API の設定値を使用する
vbUseSystemDayOfWeek0システム設定で週の1日目に指定された曜日を使用する
vbSunday1日曜日
vbMonday2月曜日
vbTuesday3火曜日
vbWednesday4水曜日
vbThursday5木曜日
vbFriday6金曜日
vbSaturday7土曜日

戻り値

戻り値の説明です。

定数説明
vbSunday1日曜日
vbMonday2月曜日
vbTuesday3火曜日
vbWednesday4水曜日
vbThursday5木曜日
vbFriday6金曜日
vbSaturday7土曜日

サンプル

Weekday関数の使用例です。

このサンプルを実行すると、メッセージボックスで曜日に対応した数値が表示されます。
2022/8/18に実行すると「5」が表示されます。
「5」なので、曜日は木曜日となります。

また、本日の日付は、Now関数で取得しています。

Option Explicit

Dim dayofweek

' 曜日の取得
dayofweek = Weekday(Now())

' 結果の確認
MsgBox(dayofweek)

あまり使う場面は思いつきませんが、
第2引数[firstdayofweek]を指定した例も見てみましょう。

Option Explicit

MsgBox(Weekday(Now(), vbUseSystem))
MsgBox(Weekday(Now(), vbSunday))
MsgBox(Weekday(Now(), vbMonday))
MsgBox(Weekday(Now(), vbTuesday))
MsgBox(Weekday(Now(), vbWednesday))
MsgBox(Weekday(Now(), vbThursday))
MsgBox(Weekday(Now(), vbFriday))
MsgBox(Weekday(Now(), vbSaturday))

実行結果です。(以下の数値がメッセージボックスで上から順に表示されます)
まず、既定値は日曜日「1」です。なので、普通に実行した場合、本日(2022/8/18)は木曜日「5」となります。
例えば、ソースコードの一番下(第2引数が[vbSaturday](土曜日))であれば、土曜日は日曜日の1日前(1日遠くなる)なので、取得される値は「6」(金曜日)となります。

5
5
4
3
2
1
7
6

応用例

Select Case文と組み合わせることで、月曜日は処理Aを実行する、火曜日は~というように、曜日に応じて処理を分けることが出来ます。

では、実際のソースコードをご覧ください。
サンプルでは、各曜日に対応した処理として、メッセージボックスで曜日を表示しています。

Option Explicit

Select Case Weekday(Now())
	Case vbSunday
		MsgBox("日曜日の処理")
	Case vbMonday
		MsgBox("月曜日の処理")
	Case vbTuesday
		MsgBox("火曜日の処理")
	Case vbWednesday
		MsgBox("水曜日の処理")
	Case vbThursday
		MsgBox("木曜日の処理")
	Case vbFriday
		MsgBox("金曜日の処理")
	Case vbSaturday
		MsgBox("土曜日の処理")
End Select

コメント

タイトルとURLをコピーしました