ひげめがね
VB Script で、和暦や曜日を表示するサンプルを作成してみたよ。
下の「sample.vbs」の内容をメモ帳に貼り付けて、適当な名前で保存して
拡張子を「txt」から「vbs」に変更すれば実行できるよ。
sample.vbs
msgbox wareki(date())
function wareki(d)
Set jc = CreateObject("System.Globalization.JapaneseCalendar")
gengo_no = jc.GetEra(d)
Select Case gengo_no
Case 1: gengo = "明治"
Case 2: gengo = "大正"
Case 3: gengo = "昭和"
Case 4: gengo = "平成"
Case 5: gengo = "令和"
Case Else: gengo = "未来"
End Select
nen = jc.GetYear(d)
If nen = 1 Then nen = "元"
wareki = gengo & nen & "年" & _
right("0" & month(d),2) & "月" & _
right("0" & day(d),2) & "日"
Select Case Weekday(d)
Case 1: youbi = "(日)"
Case 2: youbi = "(月)"
Case 3: youbi = "(火)"
Case 4: youbi = "(水)"
Case 5: youbi = "(木)"
Case 6: youbi = "(金)"
Case 7: youbi = "(土)"
End Select
wareki = wareki & youbi
Set jc = Nothing
end function
- msgbox:これはメッセージボックスを表示するためのコマンドです。
- date():プログラムが実行された時の日付が代入されます。
- function 関数名(引数):
これは関数を宣言するためのコマンドです。
関数とは一連のプログラムを1つのコマンドにまとめて実行するための機能の一つです。
今回は「wareki」を宣言しています。
引数はその関数に値を渡すためのもので、「,」で区切れば複数使うことも可能です。 - Set jc = CreateObject(“System.Globalization.JapaneseCalendar”):
日本語カレンダーを扱うためのオブジェクトを作成するおまじない。
このオブジェクトの中に和暦を扱う関数が入っている感じです。 - jc.GetEra(日付・日時型):引数として入れた日付・日時型の値の元号を数値で戻す。
今回は戻り値をgengo_noに代入しています。 - Select Case ~ End Select:指定した変数や実行結果(戻り値)に応じた処理が記述できる構文です。
今回は2つ使っていて、gongo_no や Weekday(d) の値が1~5や1~7の場合に、それぞれの数字に
該当する、元号や曜日の文字列を変数 gengo や youbi に入れています。 - Weekday(日付・日時型):引数として入れた日付・日時型の値の曜日を数字の1~7で戻す。
1が日曜日で7が土曜日です。
- プログラム上、複数の形式の日付文字列を表示する場合は、例えば wareki(d,view_type)
みたいな感じで表示タイプを指定する引数を追加して、それぞれに応じた形式で出力する
ように関数を作れば無駄がないかもね。