VBScriptで指定した日付の曜日を取得する方法を解説します。
構文
ここでは、週の曜日を取得する Weekday関数を使用します。
書式
Weekday関数の書式です。
Weekday(date, [firstdayofweek])
引数
引数の説明です。
引数名 | 説明 | 省略 |
---|---|---|
date | 日付を指定する。 型はVariant、数式、文字列式が使用可能。 | 不可 |
firstdayofweek | 週の最初の曜日を指定する定数を指定する。 つまり、週の曜日の基準値となる値を指定する。 既定値は、vbSunday(日曜日) | 可能 |
第2引数[firstdayofweek]の指定に使用できる定数の一覧です。
定数 | 値 | 説明 |
---|---|---|
vbUseSystem | 0 | NLS(各国語サポート)API の設定値を使用する |
vbUseSystemDayOfWeek | 0 | システム設定で週の1日目に指定された曜日を使用する |
vbSunday | 1 | 日曜日 |
vbMonday | 2 | 月曜日 |
vbTuesday | 3 | 火曜日 |
vbWednesday | 4 | 水曜日 |
vbThursday | 5 | 木曜日 |
vbFriday | 6 | 金曜日 |
vbSaturday | 7 | 土曜日 |
戻り値
戻り値の説明です。
定数 | 値 | 説明 |
---|---|---|
vbSunday | 1 | 日曜日 |
vbMonday | 2 | 月曜日 |
vbTuesday | 3 | 火曜日 |
vbWednesday | 4 | 水曜日 |
vbThursday | 5 | 木曜日 |
vbFriday | 6 | 金曜日 |
vbSaturday | 7 | 土曜日 |
リンク
サンプル
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
コメント