• 締切済み

キーボードに入力させるには

前に同じような質問したのですが、聞き方が悪かったみたいなので再度質問します。 VBAやVBなどで、キーボードを制御するようなことをすることはできないでしょうか? たとえば、aっていうキーを1秒間押させる・・・のようなものです。「textbox1.text = textbox1.text & 'a'」 などというやり方ではなく、キーボード自体に入力させるということです。 調べてみたんですが、よくわかりません;APIとか、そういったキーワードは見つかるのですが、 ちゃんと説明してくれてるサイトが見当たらないので、知識のある方に助けていただきたいです。 具体的にどういったプログラムが目的かと言われますが、ほんとに今言ったような、「a」というキーを 1秒間押させるだけ、といったものです。 できたらVBAでの書き方(ソース)を教えてもらいたいです。どうかよろしくお願いしますm(__)m

みんなの回答

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

アクティブウィンドウにキーを渡すには .netFrameworkでは http://dobon.net/vb/dotnet/vb6/sendkeys.html SendKeysクラスを使用してください。 VB6.0では http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_v08.htm http://hanatyan.sakura.ne.jp/vbhlp/SendInput.htm sendkeysやsendinputでできるはず。 vbaでは http://officetanaka.net/excel/vba/statement/SendKeys.htm http://www.geocities.jp/cbc_vbnet/kisuhen/statement.html#sendkey sendkeysでどうぞ。

関連するQ&A

  • キーボードに入力させるには・・・・

    VBでキーボード入力を自動でしてもらうプログラムを作りたいのですが、参考にしたいのですごく簡単な ソースを書いてもらえないでしょうか?たとえば一秒間「a」と入力させるプログラムなど・・・・ 知識の深い方よろしくお願いしますm(__)m

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

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

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

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

  • VB2008 textbox入力判断について

    こんばんは、いつもお世話になりました。 VB2008で "ストップワォッチ"と"タイムダウン"のプログラムを作っています。 要望: 1 TextBox1.textが入力しない時、ストップワォッチを実行 (OK) 2 TextBox1.textが入力する時、TextBox1.textの値からタイムダウンを実行 (OK) 3 TextBox1.textの値をクリアされた時、再度ストップワォッチを実行 4 TextBox1.textに文字列入力された時、数字に変更してから タイムダウンを実行 (例:全角12:56 →12:56) 5 TextBox1.textが入力エラーの場合は プログラムを抜け、何もしないこと 下記のソースでしたら、3と4,5はまだできていません。 宜しくお願いします。 ---------------------------------------------------- 'TextBox1.textが入力しない時、ストップワォッチを実行 If TextBox1.Modified = False Then Timer1.Enabled = True datStart = Now() Me.Button1.Enabled = False Me.Button3.Enabled = False End If 'TextBox1.textが入力する時、TextBox1.textの値からタイムダウンを実行 If TextBox1.Modified = True Then dTime = TextBox1.Text Timer2.Interval = 1000 Timer2.Enabled = True End If 'TextBox1.textの値を再度クリアされた時、ストップワォッチを実行 If Len(TextBox1.Text) = 0 Then TextBox1.Modified = False End If -------------------------------------------------------------- 以上

  • VB.NETでIE上にキーワードを入力したい

    VB.NETで、IE上の下記のような検索エンジンの検索欄にキーワード(テキスト)を入力したいと考えております。 http://www.leonet.jp/search/ 例えば、TextBox1の内容をButton1のボタンが押された時、検索欄に入力されるようなサンプルプログラムをご教示願います。 宜しくお願い致します。

  • DataGridViewの入力内容をリアルタイムでTextBoxにコピーしたい

    よろしくお願いします。 Vb2005+Access2003でWindowsアプリケーションを開発しています。 表題のとおりなんですが、DataGridViewの2列目にあるセルにテキストを入力したら、その入力中のテキストをTextBoxにも反映させたいと考えているのですが、そういったことはできるのでしょうか?方法がありましたら、教えてください。もしできなければ、エンターキーを押したらTextBoxに反映する、という方法でも良いと考えています。 キーボードから入力された内容をDataGridViewとTextBoxの二つのコントロールに同時に表示するということができるのかわからないので、変な質問をしてたらすみません!色々と調べてみたのですがよくわからないので投稿させていただきました。どうぞよろしくお願いします。

  • キーボード入力でのトラブル

    デスクトップPCでキーボード入力をしようとすると『a s』など一部のキーを読み込みません。キーボードの故障かと思い、違うもので試しても同じ結果でした。すべてのキーではなく一部のキーだけ受け付けないのは初めてだったため質問させていただきました。どうかご教授をお願いいたします。。

  • 複数コントロールテキストの同一セルへの入力

    はじめまして。 エクセルVBAについて質問させて頂きます。 ユーザーフォームにラベル・テキストボックスそれぞれ1~6があって ラベルのキャプションとテキストボックスのテキストをセル同一セルに 入力したくて With UserForm1 Range("A1") = .Label1.Caption & .TextBox1.Text & .Label2.Caption & .TextBox2.Text _ & .Label3.Caption & .TextBox3.Text & .Label4.Caption & .TextBox4.Text _ & .Label5.Caption & .TextBox5.Text & .Label6.Caption & .TextBox6.Text End With と、このように記述したのでが、これをもっと簡潔に書く方法はございませんでしょうか? ご教授よろしくお願いします。

  • キーボードでコマンドボタンを押せるようにするには?

    ExcelのVBAで3択クイズを作っていて、ユーザーフォーム上で解答選択支が表示されている コマンドボタンが3つあって、 そのどれかをクリックすると正解か不正解の表示が出る仕組みのプログラムを作ったのですが、 スムーズに選択できるようキーボードでコマンドボタンを押せるようにしたいのです。 左キーを押すとコマンドボタン1、上キーを押すとコマンドボタン2、右キーを押すとコマンドボタン3 が反応するといった感じにしたいのです。 いろんなサイトを見て回ったのですがAPIのGetAsyncKeyStateという関数を使うというところまでは 分かったのですが素人なものでそこから先を何を記述すべきか分からなくて困っています。 いろいろためしたものの反応がしなくて分からないです。 なにかいい方法はありませんか?

  • ドラッグ&ドロップからの取得

    VBで作ったソフトのアイコンにテキストファイルをドラッグ&ドロップするだけでVBの中のTextboxにテキストファイルの内容を表示させたいのですがその方法が分かりません…。 やはりWindowsのAPIとかいうのを使うのでしょうか? どなたか分かる方おられたら方法を教えて下さい。 お願いします。

専門家に質問してみよう