ChatGPTを使って「VBAで新暦の日付を旧暦に変換するには」と質問したら
以下のコードが返ってきましたが、実行したらエラーを吐いてしまいました。
Excel VBAで新暦の日付から旧暦の日付を計算で得るのは無理でしょうか?
以下の文章がChatGPTが作った解説と例文です。
VBAで新暦の日付を旧暦に変換するには、内蔵の「LunarCalendar」オブジェクトを使うことができます。以下が例のコードです。
Dim MyLunarCalendar As New System.Globalization.ChineseLunarCalendar
Dim year As Integer, month As Integer, day As Integer
year = 2022
month = 12
day = 30
Dim lunarYear As Integer, lunarMonth As Integer, lunarDay As Integer
lunarYear = MyLunarCalendar.GetYear(New Date(year, month, day))
lunarMonth = MyLunarCalendar.GetMonth(New Date(year, month, day))
lunarDay = MyLunarCalendar.GetDayOfMonth(New Date(year, month, day))
MsgBox "Lunar Date: " & lunarYear & "-" & lunarMonth & "-" & lunarDay
この例では、2022年12月30日の新暦の日付を旧暦に変換し、その結果をメッセージボックスで表示しています。