WeekdayName
日付から曜日を取得するWeekday関数があります。しかし取得した曜日は数値で表すため、”日曜日”などの表記が必要な場合は変換が必要になります。
WeekdayName関数はその変換を行います。
構文
1 |
Function WeekdayName(Weekday As Long, [Abbreviate As Boolean = False], [FirstDayOfWeek As VbDayOfWeek = vbUseSystemDayOfWeek]) As String |
Weekday | 曜日を表す1から7の数値を指定します。Weekday関数を指定しても構いません。 | |||||||||||||||||||||||||||
Abbreviate | 曜日名の”曜日”という文字列を取得するかどうかをTrueかFalseで指定します。Trueは”曜日”文字列がなく、Falseはあります。既定値はFalseです。 | |||||||||||||||||||||||||||
FirstDayOfWeek | 戻り値の曜日が何曜日始まりにするかをVbDayOfWeek列挙型で指定します。既定値はvbUseSystemDayOfWeekです。
VbDayOfWeek列挙型
vbUseSystemDayOfWeekはWindows7であればコントロールパネル→地域と言語→形式タブ の「週の最初の曜日」に設定されている曜日になります。 |
|||||||||||||||||||||||||||
String(戻り値) | 曜日の文字列を返却します。第二引数の値がTrueの場合は”日”、Falseの場合は”日曜日”と、”曜日”の有無が変わります。 |
サンプルコード
WeekdayName関数の第一引数を2017年1月1日(日曜日)にして、第二、第三引数を変えて出力するサンプルです。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub WeekdayNameTest() Debug.Print WeekdayName(Weekday("2017/1/1")) Debug.Print WeekdayName(Weekday("2017/1/1"), False) Debug.Print WeekdayName(Weekday("2017/1/1"), True) Debug.Print WeekdayName(Weekday("2017/1/1"), True, vbUseSystemDayOfWeek) Debug.Print WeekdayName(Weekday("2017/1/1"), True, vbSunday) Debug.Print WeekdayName(Weekday("2017/1/1"), True, vbMonday) Debug.Print WeekdayName(Weekday("2017/1/1"), True, vbTuesday) Debug.Print WeekdayName(Weekday("2017/1/1"), True, vbWednesday) Debug.Print WeekdayName(Weekday("2017/1/1"), True, vbThursday) Debug.Print WeekdayName(Weekday("2017/1/1"), True, vbFriday) Debug.Print WeekdayName(Weekday("2017/1/1"), True, vbSaturday) End Sub |
実行結果
コメント部分は分かりやすいように追記しています。
1 2 3 4 5 6 7 8 9 10 11 |
日曜日 '// WeekdayName(Weekday("2017/1/1")) 日曜日 '// WeekdayName(Weekday("2017/1/1"), False) 日 '// WeekdayName(Weekday("2017/1/1"), True) 日 '// WeekdayName(Weekday("2017/1/1"), True, vbUseSystemDayOfWeek) 日 '// WeekdayName(Weekday("2017/1/1"), True, vbSunday) 月 '// WeekdayName(Weekday("2017/1/1"), True, vbMonday) 火 '// WeekdayName(Weekday("2017/1/1"), True, vbTuesday) 水 '// WeekdayName(Weekday("2017/1/1"), True, vbWednesday) 木 '// WeekdayName(Weekday("2017/1/1"), True, vbThursday) 金 '// WeekdayName(Weekday("2017/1/1"), True, vbFriday) 土 '// WeekdayName(Weekday("2017/1/1"), True, vbSaturday) |