Click とsendhotkey

excel、accessで確認画面の子画面が出た場合のアクテビティに関してです。
基本的に子画面でYES/NOが求められた場合、clickで対応しています。

accessの処理で子画面が出た場合、attach window > set focus > clickしましたが
処理が滑ってしまいました。

対応は、
attach window > set focus >send hotkey (y)で対応しました。

clickのアクテビティを調べると
cleckのオプションに、「SendWindowMessages」「SimulateClick」があります。
またオプションを付けないこともあります。

SendWindowMessages -
オンにした場合は、ターゲットアプリケーションに指定のメッセージを送信してクリックを実行します。
この入力メソッドはバックグラウンドで動作でき、ほとんどのデスクトップアプリケーションと互換性がありますが、
最速のメソッドではありません。既定では、このチェックボックスはオフになっています。
このチェックボックスも [SimulateClick] チェックボックスもオフになっている場合は、
既定のメソッドがハードウェアドライバーを使用してクリックをシミュレートします。
既定のメソッドは最も遅く、バックグラウンドで動作できませんが、
すべてのデスクトップアプリケーションと互換性があります。

•SimulateClick -
オンにした場合は、ターゲットアプリケーションのテクノロジーを使用してクリックをシミュレートします。
この入力メソッドは 3 種類の中で最も速く、バックグラウンドで動作します。
既定では、このチェックボックスはオフになっています。
このチェックボックスも [SendWindowMessages] チェックボックスもオフになっている場合は、
既定のメソッドがハードウェアドライバーを使用してクリックを実行します。既定のメソッドは最も遅く、
matramatamaバックグラウンドで動作できませんが、すべてのデスクトップアプリケーションと互換性があります。

であるサイトでは「SimulateClick」が標準とすべきとありました。

clickは画面を字のごとくclickするものですが、sendhotkeyの動作タイミングが
今一つわかりません。

sendhotkeyは単純にキーコマンドを発行しているイメージですが
clickと使い分けする場合等どちらを選択した方が安定するのかご教示いただければと思います。
経験則によること多いと思いますがよろしくお願いします。

このチェックボックスはなかなか悩ましく、私も各組み合わせでクリック出来た状態で良しとしています。

遅くても、確実にクリックしてくれる方が、ちゃんと働くロボットとして評価されますねー。

1 Like