ただし機種によってはあらたにインストールが必要になります。
https://blogs.technet.microsoft.com/jperablog/2018/06/25/netframework/
https://support.microsoft.com/ja-jp/help/4477957/new-japanese-era-updates-for-net-framework
.Net FrameWork 3.5のアップデートが必要になる。これは自動ではインストールされない。
しかし、これがVBSで使えるとは思っていなかったのでサボっていたのが原因らしい。
Function fnAcToJCalender(Dt)
Dim jc
Dim lngJapaneseEraNumber, r, strGengou
Dim lngstrJapaneseEraYear '元年は01年ではなく元年にする場合、文字列型でも長整数型でもない
If IsDate(Dt) = False Then
Err.Raise vbObjectError + 513 ," fnAcToJCalender値を見直してください","日付時刻データ型と判断できません"
Exit Function
End if
Set jc = CreateObject("System.Globalization.JapaneseCalendar")
lngJapaneseEraNumber = jc.GetEra(Dt)
Select Case lngJapaneseEraNumber
Case 1: strGengou = "明治"
Case 2: strGengou = "大正"
Case 3: strGengou = "昭和"
Case 4: strGengou = "平成"
Case Else: strGengou = "令和"
End Select
lngstrJapaneseEraYear = jc.GetYear(Dt)
If lngstrJapaneseEraYear = 1 Then lngstrJapaneseEraYear = "元"
fnAcToJCalender = strGengou & lngstrJapaneseEraYear & "年" & jc.GetMonth(Dt) & "月" _
& jc.GetDayOfMonth(Dt) & "日"
End Function
System.Globalization.JapaneseCalenderがVBSでも使えるとは・・・
またレジストリに令和が設定されていると、Case Elseが令和になります。
以前はCase3昭和、Case Else 平成でした。
あとでリンク先を紹介しますが、これが2011年の記事だったので、もしや・・・と思い試したところ、令和になっていると令和が返ってきます。
VBSでも和暦で、令和が取得できるのです。