デス真意をわかっていただいて、うれしいです。このサンプルを実行するには二つのプロジェクトが必要となります。Subと記載して、ボタンが押されたらメッセージボックスを表示するようにしておきます。これをEXEにして起動しておいてください。Subといった感じです。最初にサンプルを載せたかったのですが、ちょっと納期前ということで、説明を簡略化してしまいました。>一文字(Enterキー)を渡すだけならSendKeysでも問題はないかな..たしかにそうですね。話を戻しますが、#3で書いた電子電○帳と連携したソフトですが、目的のボタンにたどりつくために、[TAB]を数回送った後に[ENTER]を送っていました。最初から目的のボタンにフォーカスがあるのであれば、全然問題ないのですが、、、なので、処理によってはSendkeysで十分だと思いますが、2回以上のSendkeysが連続するようなのであれば、OSの状況に影響されないAPIを使うことをお奨めします。デス真意をわかっていただいて、うれしいです。このサンプルを実行するには二つのプロジェクトが必要となります。Subと記載して、ボタンが押されたらメッセージボックスを表示するようにしておきます。他のアプリケーションのテキストフィールドがフォーカスを持っていて、そこにテンキーの「1」を入力した場合、「おはよう」と表示され、さらに改行コードも送れるプログラムを作りたいと思っています。ヒントが掲載されているHPや書籍などの情報があれば教えていただきたいと思います。お手数でなければ、具体的なコードも教えていただければありがたいです。Aベストアンサーキーフックを使って作るのが王道のようですが、どうもややこしそうなので思いついたソースだけ記述します。質問者さんの思っている動きとは違うかもしれませんが、、。Sub'---------------------------------------------'以下参考にしたURLですhttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t02.htmhttp://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200606/06060083.txtキーフックを使って作るのが王道のようですが、どうもややこしそうなので思いついたソースだけ記述します。質問者さんの思っている動きとは違うかもしれませんが、、。ENTERキーを送りたいのですが、ものによって送れるものと送れないものがあります。キャプションが"印刷"のものにキー送信をしているのですが、ExelやWordなどのクラス名が取得できる("bosa_sdm_XL9"等)ものだと送信でき、IE、秀丸などのクラス名が取得できないもの("#32770"と表示される)だと送信できません。お分かりになられる方がおりましたら、ぜひ教えてください。ENTERキーを送りたいのですが、>ものによって送れるものと送れないものがあります。やって送ってるんですか?それを書いていただかないとなにも判断できませんが。他の回答も見るQEnumChildWindowsの使い方(VBA)64bit版ExcelのVBAでEnumChildWindowsを使用して、子ウィンドウのウィンドウハンドルを取得したいと考えています。下記のようなサンプルを作ってみましたが、コールバック関数でExcelが異常終了します。(05行目にブレークポイントを設定、各変数の値を参照しようとした時点でExcelが異常終了)また、コールバック関数の第3引数(lParam)の型をInteger,Long,LongPtr等変えてみましたが、いずれもExcelの異常終了となりました。Excelでの本APIの使い方を教えていただきたくよろしくお願いいたします。Sub64bit版ExcelのVBAでEnumChildWindowsを使用して、子ウィンドウのウィンドウハンドルを取得したいと考えています。下記のようなサンプルを作ってみましたが、コールバック関数でExcelが異常終了します。(05行目にブレークポイントを設定、各変数の値を参照しようとした時点でExcelが異常終了)また、コールバック関数の第3引数(lParam)の型をInteger,Long,LongPtr等変えてみましたが、いずれもExcelの異常終了となりました。Excelでの本APIの使い方を教えていただきたくよろしくお...続きを読むAベストアンサーこんにちは。ご提示のサンプルですが、当方のVBA7x64環境でも(実行の度に無条件で必ず)Excelの異常終了を再現できました。情報提供、という形でお応えします。Handle?』http://www.appspro.com/Tips/VBA%20Tips.htmこちらのページの一番下の[EnumChildWindows]をクリックするとx32|x64両方対応のサンプルコードが入手できます。そのままこちらで試してみた処、(このサンプルは、ThisWorkbook.Windows(1)のハンドル'だけ'を取得するものなので)エラーにはなりませんでした。完全な動作を確認するには至りませんでした。デバッグのヒントにはなりそうな気はしますので、サンプル試してみては如何でしょう。適切に列挙を終了させることになるような気がしています。?)コールバック関数の戻りを0にして列挙を終了する、、、、みたいな?或いは、特定の子ウィンドウに限定できるなら、同様にうまく扱えるようにも思えます。実践的には、同じハンドルが重複して戻る場合があることを考慮して、ハンドル列挙の受け皿としてCollectionオブジェクト等を用いることになるかと思いますが、もしかしたら、この戻り値の重複についてもチェックしてみた方がいいのかも??知れません。参考になるか解りませんが、以上です。ご提示のサンプルですが、当方のVBA7x64環境でも(実行の度に無条件で必ず)Excelの異常終了を再現できました。情報提供、という形でお応えします。Handle?』http://www.appspro.com/Tips/VBA%20Tips.htmこちらのページの一番下の[EnumChildWindows]をクリックするとx32|x64両方対応のサンプルコードが入手できます。"に戻したいのですが、どのような関数を使えばよいのかわかりません。