構文
構文は以下の通りです。
WeekdayName(曜日, [曜日名の省略], [週の開始曜日])
解説
WeekdayName関数は、曜日の名前を返す関数です。
引数 | 指定 | 内容 |
曜日 | 必須 | Weekday関数で取得した値を指定します。 |
曜日名の省略 | 省略可 | 曜日名を省略するか否かを指定します。Trueを指定すると曜日名を省略し、Falseを指定すると曜日名を省略しません。既定値はFalseです。 |
週の開始曜日 | 省略可 | 週の最初の曜日を何曜日にするか指定します。既定値は日曜日です。設定値を以下で紹介します。 |
週の開始曜日には以下の設定値が指定できます。
定数 | 値 | 内容 |
vbSunday | 1 | 日曜日(既定値) |
vbMonday | 2 | 月曜日 |
vbTuesday | 3 | 火曜日 |
vbWednesday | 4 | 水曜日 |
vbThursday | 5 | 木曜日 |
vbFriday | 6 | 金曜日 |
vbSaturday | 7 | 土曜日 |
使用例
WeekdayName(Weekday("2017/1/1"))
WeekdayName(Weekday("2017/1/1"), False)
WeekdayName(Weekday("2017/1/1"), True)
WeekdayName(Weekday("2017/1/1"), False, vbSunday)
WeekdayName(Weekday("2017/1/1"), False, 2)
使い方
具体的な使い方を紹介します。
(例1)曜日名の取得
小学校の授業で、曜日を使った計画をたてる場面が多いですよね。例えば、月曜日は算数、火曜日は国語といったように。WeekdayNameを使って、簡単に曜日名を取得できます。
Sub 曜日の取得()
Dim today As Integer
today = Weekday(Date) ' 今日の曜日を取得
Dim todayName As String
todayName = WeekdayName(today, True) ' 今日の短縮曜日名を取得
MsgBox "今日は" & todayName & "曜日です。"
End Sub
Dim today As Integer
today = Weekday(Date) ' 今日の曜日を取得
Dim todayName As String
todayName = WeekdayName(today, True) ' 今日の短縮曜日名を取得
MsgBox "今日は" & todayName & "曜日です。"
End Sub
(例2)曜日の取得(短縮なし)
短縮された曜日名ではなく、通常の曜日名を取得する場合は、abbreviate引数を省略するかFalseにします。
Sub 曜日の取得_短縮なし()
Dim today As Integer
today = Weekday(Date) ' 今日の曜日を取得
Dim todayName As String
todayName = WeekdayName(today, False) ' 今日の通常の曜日名を取得
MsgBox "今日は" & todayName & "曜日です。"
End Sub
Dim today As Integer
today = Weekday(Date) ' 今日の曜日を取得
Dim todayName As String
todayName = WeekdayName(today, False) ' 今日の通常の曜日名を取得
MsgBox "今日は" & todayName & "曜日です。"
End Sub
プログラミング例
以下に、プログラミング例を紹介します。
Sub GreetByDay()
Dim dayNumber As Integer
Dim dayName As String
' 現在の曜日を取得
dayNumber = Weekday(Now)
dayName = WeekdayName(dayNumber, True)
' 曜日に応じて異なるメッセージを表示
Select Case dayNumber
Case 1
MsgBox "今日は" & dayName & "。頑張りましょう!"
Case 5
MsgBox "もうすぐ週末の" & dayName & "!"
Case Else
MsgBox "今日は" & dayName & "です。"
End Select
End Sub
Dim dayNumber As Integer
Dim dayName As String
' 現在の曜日を取得
dayNumber = Weekday(Now)
dayName = WeekdayName(dayNumber, True)
' 曜日に応じて異なるメッセージを表示
Select Case dayNumber
Case 1
MsgBox "今日は" & dayName & "。頑張りましょう!"
Case 5
MsgBox "もうすぐ週末の" & dayName & "!"
Case Else
MsgBox "今日は" & dayName & "です。"
End Select
End Sub
このプログラムは、実行されると現在の曜日に合わせたメッセージを表示します。
まとめ
WeekdayName関数は、曜日の名前を返す関数です。是非活用してください。