[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2007/01/31(Wed) 19:41
投稿者名:Edward
Eメール:
URL :
タイトル:
Calendarコントロールの月/年変更時の値取得
Microsoft Calendar Control 8.0の上部の月または年のコンボボックスの
値を変更すると
.Valueは以前の値のままで
.Year・.Month・.Dayはの0になってしまいますよね。

現在選ばれている、月・年の値を得る方法って有りませんでしょうか?

何方か御指導下さいますよう、宜しくお願いいたします。

投稿時間:2007/02/01(Thu) 10:40
投稿者名:K・今川
Eメール:
URL :
タイトル:
Re: Calendarコントロールの月/年変更時の値取得
私のはMicrosoft Calendar Control 9.0なので 8.0 とは違うかもしれないのですが

年、月のコンボボックスで選ばれた値はカレンダー内部のプライベート値らしく
直接、参照することは出来ないようです。

年、月のコンボボックスの変更時のイベント _NewYear()、_NewMonth()は見付かったのでが。

投稿時間:2007/02/01(Thu) 11:21
投稿者名:Edward
Eメール:
URL :
タイトル:
Re^2: Calendarコントロールの月/年変更時の値取得
K・今川 様
御返答有難う御座います。

> 年、月のコンボボックスの変更時のイベント _NewYear()、_NewMonth()は見付かったのでが。

年コンボを変更した時はNewYearイベントが、月コンボを変更した時はNewMonthイベントが
発生しますが。値が取得出来無いんですよね。やっぱり駄目ですか。

サブクラス化したら取れるんだろうか?
何方かチャレンジした方、または情報が掲載されているサイト等御存知の方は
いらっしゃいませんでしょうか。

投稿時間:2007/02/01(Thu) 11:37
投稿者名:y4yama
Eメール:
URL :
タイトル:
Re^3: Calendarコントロールの月/年変更時の値取得
> 何方かチャレンジした方、または情報が掲載されているサイト等御存知の方は
チャレンジして、挫折しました。が、こちらの 2004/04/09(Fri) 21:44過去ログを
calendar で調べたら、できちゃいました! 花ちゃんさんに、しかられそう・・・
ホント、宝が詰まっていますネ

投稿時間:2007/02/02(Fri) 09:43
投稿者名:Edward
Eメール:
URL :
タイトル:
Re^4: Calendarコントロールの月/年変更時の値取得
> 2004/04/09(Fri) 21:44過去ログ
のとおり、.Dayに1を代入すれば。一度目は.Valueにも.Year,.Monthにも
値は入るのですが。二度目にはまた.Value="",.Year=0,Month=0,Day=0に
なってしまいました。
私のやろうとしている事は、実現出来そうに有りませんので
他の方法を探そうと思っています。
皆様御指導有難う御座いました。

投稿時間:2007/02/02(Fri) 11:12
投稿者名:y4yama
Eメール:
URL :
タイトル:
Re^5: Calendarコントロールの月/年変更時の値取得
Private Sub Calendar1_NewMonth()
  Calendar1.Day = 20
End Sub
という感じで、うまくできたんですが・・・勘違いしてませんか?

投稿時間:2007/02/02(Fri) 13:34
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re: Calendarコントロールの月/年変更時の値取得
 Microsoft Calendar Control は、Access用に作られたコントロールなので
いろいろ問題はあるかと思います。

 確かめてませんが、こんなのが見つかりました。

http://support.microsoft.com/kb/193967/en-us

 なお、Microsoft Calendar Control は、元々VBでのソフトに再配布は不可
だったのですが、今は、VS6.0SP4以降であれば可能だそうです。ただし、実行する
PCのAccessのバージョンによっては、バージョンがあがっていますので注意が
必要だと思います。

http://support.microsoft.com/kb/412867/ja

投稿時間:2007/02/02(Fri) 15:31
投稿者名:Edward
Eメール:
URL :
タイトル:
Re^2: Calendarコントロールの月/年変更時の値取得
Starfish様
情報有難う御座います

>  確かめてませんが、こんなのが見つかりました。
> http://support.microsoft.com/kb/193967/en-us

確かめてみましたが、取得出来ましたね。
目からウロコが落ちました。
ウィンドウハンドルを取得して、メッセージを送る。。。
VBばっかりやっていると忘れてしまいがちなテクニックでした

しかし、うちには某社製のカレンダーコントロールが有るじゃないかと
言われ。そっちを使う事になってしまいました。
皆さん、お騒がせいたしました。

投稿時間:2007/02/02(Fri) 15:50
投稿者名:y4yama
Eメール:
URL :
タイトル:
Re: Calendarコントロールの月/年変更時の値取得
おそるおそる・・ですが・・
No.8344でガセネタを申し訳ありません。Edwardさんの2回目がNG・・というのを
確認・再現いたしました。
もう解決というか、意味無いかも知れませんが、得た情報では、日付を入れて、また1に戻す・・
だったので、また、懲りずにチャレンジしました。
今度は、月を続けて選び直してもうまく、其の月1日のValueが返りました。
Private Sub Calendar1_NewMonth()
Calendar1.Day = 20
'MsgBox Calendar1.Value
NewMon = Calendar1.Month
NewYea = Calendar1.Year
Calendar1.Day = 1
Calendar1.Value = NewYea & "/" & NewMon & "/" & "1"
End Sub

Private Sub Command1_Click()
MsgBox Calendar1.Value
End Sub
ただ動いたというだけで、キレイなコードにはしてません。