• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カレンダー機能について)

キーボード入力でカレンダーを表示させる方法について

このQ&Aのポイント
  • VBで作成したカレンダープログラムにおいて、プルダウンでの選択に加えてキーボード入力によるカレンダー表示を行いたいが、うまくいかない。
  • 現在のプログラムでは、月の選択においてキーボード入力による操作をサポートしておらず、プルダウンを使用してのみ操作が可能。
  • キーボード入力による操作を実現するためには、プログラムにコンボボックスのキーボードイベント処理を追加する必要がある。

質問者が選んだベストアンサー

  • ベストアンサー
noname#25383
noname#25383
回答No.3

入力欄に入力した文字列は、cboList_month.Textじゃないかな? 手元にVBが無いので確認できませんが、 Private Sub cboList_month_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then mintCur_month = Val(cboList_month.Text) Call calender_hyouzi 'カレンダーを表示させる関数 End If End Sub こんな感じかな?

eiki0520
質問者

補足

お世話になります。 教えていただいたロッジクで望みの仕様を実現できました。 ありがとうございます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

標題の>カレンダー機能について は質問内容を表してないようです。 質問のような、回りくどいことをする必要なく (エクセルVBAの例ですが) Private Sub ComboBox1_Click() MsgBox Worksheets("Sheet1").ComboBox1.Text End Sub でコンボをクリックすると、月数字が文字列で取れます。 これでは不便・ダメ(KeyPressに拘る)という理由を補足してみてください。

eiki0520
質問者

補足

お世話になります。 コンボをクリックすることで文字列の取得はできると思いますが キーボードのみの操作でも実現したい欲求があるためkeypressに 拘っただけです。 標題と質問内容が一致してなくて申し訳ありません。

  • ape5
  • ベストアンサー率57% (85/148)
回答No.2

リストボックスにキーボードから値を入力して、リストの中の一つと合致したらListIndexって自動的に設定されましたっけ? 質問者さんの例でいうと 月のリストボックスに10と入力したからListIndexが自動的に9に設定されましたっけ? 違ってたらごめんなさい・・・

eiki0520
質問者

補足

お世話になります。 clickイベント内では設定はされますがkeyascii内では 入力した値はListIndexには自動で設定はされないと思います。

  • unamana19
  • ベストアンサー率62% (56/89)
回答No.1

どのような仕様にしたいのかが不明なので、適切な回答ができませんね。 >上手くいきません。 これは、「どのように」上手くいかないのでしょうか? Clickイベントは、アイテムが選択された場合にも発生するので、 「アイテムを選択」->「ENTERを入力」 では、同じ処理が2回実行されるかと思いますよ。

eiki0520
質問者

補足

お世話になります。 現在の仕様では自作のカレンダーを起動すると現在の年・月、2007年1月のカレンダーが表示されます。年と月はそれぞれコンボボックスになっていてプルダウンより2010と10をマウスより選択しクリックすることで2007年10月のカレンダーが表示されます。その仕様に+αでコンボボックスに直接2007と10をキーボードより入力しEnterキーを押下することで2007年10月のカレンダーも表示可能な仕様にしたいと思っているのですがキーボードで2007と10を入力しEnterキーを押しても上手くカレンダー表示されないので困っています。 よろしくお願いします。

関連するQ&A