非アクティブだけどキーに反応するには?

解決


アコ  2005-11-05 13:24:28  No: 92444  IP: [192.*.*.*]

すみません、質問させて頂きます
エクセルのマクロ(VBA)にて、エクセル自体が非アクティブだけどエクセル上のなんらかのショートカットキー(マクロ)に反応する方法はないでしょうか?

例えば
エクセル自体が非アクティブで、IEを操作(IE上のスクロールやクリックにはIEが反応)しながら ALT + 1 のキーにエクセルが反応する
というような形なんですが

タイマ監視だと困ることになりそうなのでAPI等を使ってできたらいいかと考えているんですけどどうもよくわからない次第です

検索にもなかなか出てこなくてこちらでもう困っています  (T。T)

誰かお力添えをお願いします  m(_ _)m

編集 削除
あん  2005-11-05 16:27:10  No: 92445  IP: [192.*.*.*]

エクセルマクロを実行するプログラムを作って
それをショートカットに登録します。
その時、ショートカットキーを追加すればいいかも
Cntl+Alt+()になります。
WindowsXPで確認。

編集 削除
アコ  2005-11-06 05:25:01  No: 92446  IP: [192.*.*.*]

あんさん、お返事ありがとうございます!
私の質問が悪かったみたいですみません  m(__)m

ショートカットキーという表現では誤解を招くので
F5とかテンキーなどに割り当てられたキーに非アクティブでもキー反応するエクセルマクロを組みたいのです

どうかよろしくお願いします

編集 削除
あん  2005-11-06 14:22:06  No: 92447  IP: [192.*.*.*]

エクセルがアクティブになってなくても
エありませんクセルのマクロが実行できる方法を知りたいんじゃないのかな?
それなら上の方法で
じゃないなら意味わかりません。
エクセルからショートカットキーでマクロを実行できることは
知ってるよね?
上の質問だとそれも知らないように見えます。

編集 削除
アコ  2005-11-06 18:05:54  No: 92448  IP: [192.*.*.*]

あんさん、すみません。(・_;)
言葉足らずでした。
ショートカットキーでマクロを実行できることは知っています。

私が知りたいのは
エクセルのマクロ実行状態で非アクティブにされていてもマクロがなんらかのキーに反応する方法
です

どうかよろしくお願いします!

編集 削除
もげ  2005-11-07 08:51:11  No: 92449  IP: [192.*.*.*]

無理筋を盲進するより、そうしないで済む方法を考えることはできないのかな...
とは思いますが、
グローバルフック(VBでは不可能なので、VC++でDLL作ってVBから呼ぶ)
を使うか、DirectInputを使うとか。
http://www.geocities.co.jp/SiliconValley/7406/tips/mouse/mouse2.html

編集 削除
dark  2005-11-07 09:18:40  No: 92450  IP: [192.*.*.*]

> エクセルのマクロ実行状態で非アクティブにされていてもマクロがなんらかのキーに反応する方法
ほかのアプリでそのキーを使いたいとき、意図しないマクロが動いてしまう(横取りする)仕様はどうかと思いますが。

編集 削除
アコ  2005-11-07 15:33:48  No: 92451  IP: [192.*.*.*]

おそばせながら皆様お力添えありがとうございます

もげさんの方法(フック)でなんとかなりそうです!
初心者で考えなしに無理筋を通そうとしていました
すみません  m(_ _)m
でもお陰様で目的は達成できそうです

darkさん
>ほかのアプリでそのキーを使いたいとき、意図しないマクロが動いてしまう(横取りする)仕様はどうかと思いますが。
他のアプリを使う場合はマクロを止めるので大丈夫そうです

こんなたくさんの解決方法を頂けて嬉しいです
回答くださった皆様どうもありがとうございました

編集 削除