|
kanabunさま
とおりすがりさま
コメントありがとうございます。
kanabunさま
XL2003ではLeft,Topパラメータ有効というのは同じですが、両値"0"の場合、ヘルプでの説明と異なりこちらの2003では画面中央付近が表示位置になります。
XL2010ですと、同じくパラメータが無視されるのですが、詳しく調べてみると、直前にBoxが表示された位置に表示されるようです。つまりマウス等でBoxをドラッグ移動すると次の表示位置はそこになる、という具合でした。
そうであるならばあらかじめマウスでBox位置を邪魔のない位置にドラッグしておく、という対策も考えられますが、複数ユーザーでの汎用性に難ありと考えています。
> Yukiさんのプロシージャをありがたく利用させてもらったらどうですか?
そういうお考えもあるかと思います。ありがとうございます。
とおりすがりさま
> SendKeys "% M"
> SendKeys "{Left 50}{ENTER}"
> Set obj = Application.InputBox(prompt:="該当のdataを選んでちょうだい!", Type:=8)
いや、びっくりしました。こういう手もあるんですね。
すばらしくシンプルに望む動作が実現できて感動しました!
よろしければひとつ教えていただきたいと思います。
マクロではなく、Windowメニューの「移動」を選択すればアクティブのWindowが矢印キーでの移動の対象になります。
ご教示いただいたSendkeysがInputBoxの後に実行されれば、InputBoxが移動するだけですが、InputBoxの前に実行しているのにActiveWindowではなく後に表示されるInputBoxの位置が対象になるというのはどういう理屈なのでしょうか?
事実、ご教示のマクロをステップ実行するとうまく動作しません。不思議です。
|
|