投稿日 | : 2007/03/20(Tue) 11:02 |
投稿者 | : Blue |
Eメール | : |
URL | : |
タイトル | : Re^4: 和暦の入力チェック |
一応、
Private Sub Command1_Click()
Debug.Print IsValidateNengo("明治1年9月8日") ' ┬
Debug.Print IsValidateNengo("明治1年10月22日") ' │旧暦のためずれているらしい
Debug.Print IsValidateNengo("明治1年10月23日") ' ┴
Debug.Print IsValidateNengo("明治45年7月29日")
Debug.Print IsValidateNengo("明治45年7月30日")
Debug.Print IsValidateNengo("大正1年7月29日")
Debug.Print IsValidateNengo("大正1年7月30日")
Debug.Print IsValidateNengo("大正15年12月24日")
Debug.Print IsValidateNengo("大正15年12月25日")
Debug.Print IsValidateNengo("昭和1年12月24日")
Debug.Print IsValidateNengo("昭和1年12月25日")
Debug.Print IsValidateNengo("昭和64年1月7日")
Debug.Print IsValidateNengo("昭和64年1月8日")
Debug.Print IsValidateNengo("平成1年1月7日")
Debug.Print IsValidateNengo("平成1年1月8日")
End Sub
Private Function IsValidateNengo(ByVal strDate As String) As Boolean
If IsDate(strDate) Then
IsValidateNengo = Format$(CDate(strDate), "ggge年m月d日") = strDate
End If
End Function
てな感じで。
また
http://www.kumamotokokufu-h.ed.jp/kumamoto/bungaku/wa_seireki.html
を参考にしています。
そこに"大正・昭和の「改元の詔書」"について書かれていますが、
>IsValidateNengo("明治45年7月30日")
>IsValidateNengo("大正15年12月25日")
はTrueを返すようにしないとだめかも。
それと、明治の最初はよくわかりません。