| 
    
     |  | こんにちは。かみちゃん です。 
 >カレンダーコントロールに対して、下記コードでイベント待ちです。
 >Private Sub Calendar1_NewYear()
 >  Me.和暦.Text = Format(DateSerial(Calendar1.Year, 1, 1), "ggee年")
 >End Sub
 >カレンダー右上の、年度の選択(年を選択するcomboboxの様な所)を行うと
 >上記のイベントが発生しますが、Calendar1.Year=0となり、0=2000年=H12年
 >となってしまいます。
 >年を選択した時点で、選択した年の値(西暦)を取得する方法が知りたいのです。
 
 仕組みおよび理由は、私も難しいので、説明はできませんが、以下のような方法
 にするとできると思います。
 
 Calendar1.Day(.Valueではなく)を一旦、別の日に移動して、元に戻すことで
 できるようです。
 
 Private Sub Calendar1_NewYear()
 Dim NewMon As Integer
 Dim NewYea As Integer
 
 Calendar1.Day = Day(Date + 1)
 Calendar1.Day = Day(Date)
 Me.TextBox1.Text = Format(DateSerial(Calendar1.Year, 1, 1), "ggee年")
 End Sub
 
 参考にしたのは、以下のURLです。
 http://hanatyan.sakura.ne.jp/logbbs/wforum.cgi?mode=allread&no=8577
 http://hanatyan.sakura.ne.jp/logbbs1/wforum.cgi?mode=allread&no=8316&page=90
 
 また、動作確認はしていませんが、以下のような方法もあるようです。
 http://support.microsoft.com/kb/193967/ja
 
 曖昧な説明で申し訳ありません。
 
 ※投稿の際は、引用は必要最小限のものでいいです。
 スレッド一覧で見ると、経緯はわかるからです。
 
 |  |