• 締切済み
  • 暇なときにでも

Access97のVBAでキーボードを制御する方法は?

フォームなどの入力において、[Insert]キーが押されて、文字入力が上書きになっているかどうかを検出したい。また、VBAで上書きモードに設定したい。 キーボードの[Insert]キーを押すと、ステータスバーの右のほうに「OVR」と表示され、テキストボックスなどへの文字入力が、文字単位で上書きになります。この制御をVBAで行いたいのです。

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数437
  • ありがとう数8

みんなの回答

  • 回答No.4
  • ARC
  • ベストアンサー率46% (643/1383)

常に上書きにするというのであれば、定型入力プロパティで何とか代用できると思 います。 テキストボックスの定型入力/InputMaskプロパティを CCCCCCCC;;" " (Cをフィールドの最大長だけ並べる)と設定し、 Private Sub テキスト0_GotFocus() Me.テキスト0.SelStart = 0 Me.テキスト0.SelLength = 1 End Sub Private Sub テキスト0_AfterUpdate() If IsNull(Me.テキスト0) = False Then Me.テキスト0 = RTrim$(Me.テキスト0) End If End Sub ってなコードを書いてやれば、ある程度違和感無く使えるんじゃないでしょうか。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • キーボードの←キーを押すとカーソルが右に動いてしまう

    文字入力時、キーボードの←キーを押すとカーソルが右に動き、→キーを押すとカーソルが左に動いてしまいます。 Excelのあるテキストボックスでのみ、この現象が発生しています。 直し方をご存知の方がいらっしゃいましたら、ご回答よろしくお願いします。

  • 自作ソフトキーボードによる文字入力について

    VBについてあまり詳しくはないのですが、VB6.0でソフトキーボードを作っていて、文字入力をして、変換も行いたいのですが、現在は、テキストボックスに文字入力は出来るのですが、入力した時点で、確定されてしまっている状態です。キーの作り方やVBでIMEを呼び出すにはどのようなプログラムになるのか教えてください。よろしくお願いします。

  • キーボードが変!!!

    昨日まで正常に動いてたのに、一部のキーしか動かないし、文字入力できないし、ソフトキーボードで入力しており、とてもとても、不便です。助けて下さい

  • 回答No.3
  • ARC
  • ベストアンサー率46% (643/1383)

この問題について、しばらく時間をかけていろいろ実験してみたんですが、私の技術 の範囲では、満足の行く結果が得られませんでした。少なくとも、Accessのプロパ ティでは現在の上書きモードの状況を取得することはできないようです。(あるいは、 私の探し方が下手糞なだけかも… 求む、情報。) GetKeyState APIや、キーボード 関連のイベントによって、Insertキーが押されたかどうかの情報は取得できても、 現在のAccessの状態までは分かりません。(Accessの上書きモードは、キーボード の状態とは無関係なようです。) 設定の方は、Sendkeys "{INSERT}" で、若干の問題付きで、可能なようです。 (Clickイベント中に記述するには、DoEventsをはさまなくてはいけないなど、多少 の問題はあるようです。) もしよろしければ、現在お悩みの問題を補足のところに具体的にお書きください。 もしかしたら、有効な代替案を提案できるかもしれません。

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご回答ありがとうございます。 Windows APIの利用の仕方について、研究し始めたところです。 ホスト系の端末画面と同じ操作感にしたいために、常に文字入力を上書きにしたいのです。SendKeyでは、最初の1回に限り成功します。2回目(あるいは別のフォームを開くとき)は不要なので、今の状態に応じた動作をさせる必要があります。 パンチャーの戸惑いを少しでも軽減するために、努力しています。

  • 回答No.2
  • ARC
  • ベストアンサー率46% (643/1383)

訂正です。キーの設定はSetKeyboardStateでした。

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • ARC
  • ベストアンサー率46% (643/1383)

A案:定型入力を使用する。"C"か"&"あたりををフィールド長だけ並べればいいで しょう。 B案:APIを使う。GetKeyStateでキーボードの状態を取得、SetKeyStateで設定。 おまけ:Sendkeys "{INSERT}"を試みましたが、どうもうまくいかないようです。 5分ほど実験しただけなので、何とも言えないですが。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • キーボードでの文字入力に関してなのですが。

     キーボードでの文字入力に関しての質問ですが、 ローマ字入力モードでは、普通にキーを押すと、左下の文字、Shiftキーを押しながらキーを押すと左上の文字、 かな入力モードでは、普通にキーを押すと、右下の文字、 Shiftキーを押しながらキーを押すと右上の文字が入力されますよね?  しかし、?/・め 、{[「゜ 、 }]」む のキーに 関しては、これは当てはまらないのですが、 これは何故でしょうか?  例えば、{[「゜のキーに関しては、ローマ字日本語入力の時には、普通にキーを押すと、「が入力されてしまします。  ご回答、宜しくお願い致します。  

  • Word 2002 の上書きモード

    くみりんと申します。教えてくださいっ! Word 2002 の文字入力でわからないことがあります。 Insert キーを押すと、下の「上書」という字が黒くなって、上書きモードになりますよね。 それがなぜか「上書」という字が黒くなっていても、挿入モードのままなんです (>_<) 2000ならうまくいくのに・・・。 ツール→オプションで、どこかにこれに関するコマンドが隠れているのかと思いましたが、見当たりません。 どなたか教えてください。よろしくお願いいたします _(_o_)_

  • VBA IMEとSetfocusについて

    VBAでユーザーフォームを作っています。 フォーム中のテキストボックス1に、プロパティからIMEモードをひらがなに設定しているのですが、SetFocusでテキストボックス1にフォーカス状態にして文字を入力すると何故か半角英数字になってしまいます。 その状態から一旦別のテキストボックスをクリックして、再度テキストボックス1をクリックするとひらがな入力に直ってます。 何故このような現象が起きるのでしょうか?

  • キーボードが言うことをききません。。

    パソコンの素人です。ご親切に教えてくださる方にお願いします。 パソコンはlenovo G570 windows 7 です。 wordの文字入力中に、急に文字が打てなくなり、 すべてのキーが何かの命令を実行するキーになってしまい、文字入力ができなくなります。 元に戻す方法を教えてください。 たとえば「O」のキーを押すと、「ファイルを開く」のウインドウが出てきてしまいます。 説明書などをみてもわからないので、 前回は、文書を保存せずに、再起動して、入力をやり直しました。 今回は、文書を保存してしまったら、再起動しても、入力ができなくなりました。 キーボードの手前に、マウスの変わりになる、タッチ画面がついているパソコンです。 パソコンで文字入力中に、そこに手が当たったのかもしれません。 このキー毎に命令を実行しようとしてしまうのを、普通の文字入力にできる方法を教えてください。 どのキーを押せば、元に戻るかの手順を教えてください。 どうぞよろしくお願いします。

  • Access VBA 他アプリケーション

    Accessのフォームから他アプリケーションを起動するボタンをつくります。 起動したアプリケーションの入力フォームへ、Accessのフォームのテキストボックスの内容を書き込む事はできないでしょうか? 例えば、Accessのフォームに『OKWave』と入力されたテキストボックスと、ブラウザが開くボタンが配置されているとします。ボタンをクリックするとブラウザが起動し、起動したら任意の検索サイトが表示され、そのサイトのフォームに、Accessのフォームのテキストボックスにかかれている、『OKWave』が自動的に入力するようなVBAを書きたいと思います。 よろしくお願いします。

  • キーボードがおかしくなりました。

    急にキーボードがおかしくなりました。 原因はまったくわからないのですが、普通の文字入力は問題ないのですが、記号のたとえば「」などを入力しようとしてもキーが1つずれています。「を入力するためには@のキーを押さなければなりません。他のキーも同じです。また、漢字の入力の切り替えに半角/全角キーを押していましたが、半角/全角キーを押すと‘が出てくるだけです。どうしたらもとにもどるでしょうか。

  • VBAを使って開発しているのですが

    VBAを使って開発しているのですが、 テキストボックスにバイト数で制限はかけられないのでしょうか? MaxLength を指定しているのですが、 5と指定しても、全角でも半角でも5文字入力出来てしまいます。 よろしくお願いします。

  • 日本語変換(IME)で上書きされる

    アルファベット入力では、insert キーで文字の挿入→上書きを変更できますが、日本語変換(IME)ではどうしたら切り替えられますか。 何かキーを押したと思いますが上書きモードから抜けられません。 教えてください。

  • キーボードで文字入力ができない

    普通に文章を入力しようと思ったのですが、キーボードの文字入力キーの右側にテンキーが設定してあり、そこの部分だけ数字入力になってしまい文字入力が出来ません。変換キーを押しても駄目です。 何人かで使用するノートパソコンで、私はあまり使わないのですが、誰がそうしたのか、分かる人もいない状況です。 普通に文字入力出来るように戻したいのですが、どのようにしたら良いのか全くわかりません。 キーボード設定なども見てみたのですが、そういった項目もありません。パソコンはソニーのvaioで右側にテンキーは無く、文字入力キーの右側タッチキーの下に数字が刻印されています。 何所かの設定で切り替え出来るのだと思いますが、詳しい方、教えて頂ければ幸いです。 ヘルプで探したところbluetooth機能があれば云々、という項目もあったのですが、私には初めて耳にした言葉で全くわかりません。 宜しくお願いします。

  • キーボードで違う文字が入力されてしまいます

    ノートパソコン(XP)を使っていますが、数日前に急にキーボードが使えなくなったので とりあえず外付けのキーボード(USB)を買ってきました。 とりあえず文字入力はできるようになったのですが、記号のキーが押したのと違うキーが表示されてしまいます。 どうしたらよいでしょうか?

専門家に質問してみよう