• ベストアンサー

コンボボックスにキー入力をさせない方法(ACCESS VBA)

ACCESS VBAでコンボボックスを使ったプログラムを作成しています。 コンボボックスにキー入力(特にdelete、BackSpaceキー)をさせたくありません。 VBではSTYLEプロパティをドロップダウンリストにすれば 可能ですが、VBAで同じようにするプロパティが見つかりません。どなたかご存知でしたら教えてください。 それとも、そもそもそのようなプロパティは用意されていないのでしょうか? そのような場合も考えて、コンボボックスのKeydownイベントでキーコードを拾ってdelete、backspaceキーを無効にしようとも思いましたが、どうしたら無効になるのかわからず、できませんでした。 どなたかよい方法をご存知でしたら教えてください。

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

  • ベストアンサー
回答No.2

こんにちは。 Delete の Keycode が 46 BackSpace の Keycode が 8 ですから、 コンボボックスの Keydown イベントに ↓で無効にできると思います。 ----------------------------------- If KeyCode = 8 Or KeyCode = 46 Then KeyCode = 0 End If ----------------------------------- すべてのキー入力を無効にしたいのなら Keydown イベントに ↓だけを記述してください。 ----------------------- KeyCode = 0 -----------------------

000200b
質問者

お礼

お返事ありがとうございます。 教えていただいた方法を試してみたところ、 解決することができました。 ありがとうございました。

その他の回答 (1)

  • zgmfx10a
  • ベストアンサー率9% (1/11)
回答No.1

コンボボックスコントロールのプロパティで [入力チェック]を「はい」に変更してください。 マウスカーソルは入りますけど、 テキスト変更ができなくなるようです。

000200b
質問者

お礼

お返事ありがとうございます。 教えていただいた方法を試してみたところ、 余計な文字の入力を排除することができました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう